#pragma do_not_instantiate

C++ のみ

説明

#pragma do_not_instantiate ディレクティブは、指定されたテンプレート宣言のインスタンスを生成しない ようコンパイラーに命令します。

構文

構文図を読む構文図をスキップする>>-#--pragma--do_not_instantiate--template---------------------><
 

ここで、template はクラス・テンプレート ID です。例えば、以下のようになります。

#pragma do_not_instantiate Stack < int >

このプラグマを使用して、定義が提供されているテンプレートの暗黙のインスタンス生成を抑制します。

テンプレートのインスタンス生成を手動で処理しており (つまり、-qnotempinc-qnotemplateregistry が指定されている)、指定されたテンプレートのインスタンス生成がすでに別のコンパイル単位に存在している場合は、#pragma do_not_instantiate を使用すると、リンク・エディット・ステップ中に複数のシンボル定義を取得しないことが保証されます。

関連情報