#pragma define ディレクティブは、 クラスのオブジェクトを実際に定義することなく、 テンプレート・クラスの定義を強制的に行います。 このプラグマは、後方互換性のためだけに提供されています。
>>-#--pragma--define--(--template_classname--)-----------------><
ここで、template_classname は、定義するテンプレートの名前です。
ユーザーは以下のフォームの構造体を使用して、クラス、関数、またはメンバー・テンプレート特殊化のインスタンスを明示的に生成することができます。
template declaration
例を以下に示します。
#pragma define(Array<char>)
は、以下と同等です。
template class Array<char>;
このプラグマはネームスペース・スコープ内に定義しなければなりません (つまり、関数/クラス本体に含めることはできません)。 これはテンプレート関数の効率的または自動的生成のためにプログラムを編成するときに使用されます。
関連情報