インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド
インテル® コンパイラーは、次の ANSI/ISO 標準に準拠しています。
C++ ISO/IEC 14882:1998
C ISO/IEC 9899:1990
C 言語のコンパイルについて定めた ANSI/ISO 標準 (ISO/IEC 9899:1990) に 準拠するためには、変換処理に必要な最低要件を満たしていなければなりません。インテル® C++ コンパイラーは、変換処理に対して ANSI/ISO の要求している最低要件をすべて満たしています。
インテル® C++ コンパイラーは、C++ 11 の多くの機能をサポートしています。サポートしている機能の一覧は、「インテル® C++ コンパイラーでサポートされる C++11 の機能」 (https://www.isus.jp/article/c-compiler/c0x-features-supported-by-intel-c-compiler/?utm_source=rss&utm_medium=rss&utm_campaign=c0x-features-supported-by-intel-c-compiler) を参照してください。
テンプレートの実体化
インテル® コンパイラーは、extern テンプレートをサポートしています。これにより、テンプレートを特定の翻訳単位ではなく、別の変換単位またはライブラリーで実体化するように指定できます。 コンパイラーは次のテンプレートをサポートします。
インライン・テンプレート – メンバーを実体化せずに、クラスのコンパイラーがサポートするデータ (例: vtable) を実体化します。
スタティック・テンプレート – テンプレートのスタティック・データ・メンバーを実体化し、仮想テーブルまたはメンバー関数は実体化しません。
また、次のオプションを使用することで、テンプレートの実体化をより高いレベルで制御することができます。