インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

C/C++ の標準規格との適合性

インテル® C++ コンパイラーは、次の ANSI/ISO 標準に準拠しています。

C 言語のコンパイルについて定めた ANSI/ISO 標準 (ISO/IEC 9899:1990) に準拠するためには、変換処理に必要な最低要件を満たしていなければなりません。インテル® C++ コンパイラーは、変換処理に対して ANSI/ISO の要求している最低要件をすべて満たしています。

C++ サポート

インテル® C++ コンパイラーは、C++ 11 の多くの機能をサポートしています。サポートしている機能の一覧は、「インテル® C++ コンパイラーでサポートされる C++11 の機能」 (https://www.isus.jp/article/c-compiler/c0x-features-supported-by-intel-c-compiler/) を参照してください。

テンプレートの実体化

インテル® C++ コンパイラーは、extern テンプレートをサポートしています。これにより、テンプレートを特定の翻訳単位ではなく、別の変換単位またはライブラリーで実体化するように指定できます。コンパイラーは次のテンプレートをサポートします。

また、次のオプションを使用することで、テンプレートの実体化をより高いレベルで制御することができます。

オプション

説明

-fno-implicit-templates

暗黙的に実体化される非インライン・テンプレートでコードを出力しません。明示的な実体化でのみコードを出力します。

-fno-implicit-inline-templates

インライン・テンプレートの明示的な実体化でもコードを出力しません。デフォルトでは、インライン展開を別々に処理します。そのため、最適化の有無にかかわらず、コンパイルには同じ明示的な実体化のセットが必要となります。

C99 サポート

このバージョンのインテル® C++ コンパイラーは、次の C99 機能をサポートします。

long double (128 ビット表記) 機能はサポートされていません。

関連情報