#pragma define

C++ に適用

説明

#pragma define ディレクティブは、クラスのオブジェクトを実際に定義することなく、テンプレート・クラスの定義を強制的に行います。このプラグマは、逆方向の互換性のためだけに提供されています。

構文


構文図

ここで、template_classname は、定義するテンプレートの名前です。

ユーザーは、フォームの構成を使用して、クラス、関数、またはメンバーのテンプレート特殊化のインスタンスを明示的に生成することができます。

template declaration

例を以下に示します。

#pragma define(Array<char>)

は、以下と同等です。

template class Array<char>;

このプラグマは、ネーム・スペース・スコープ内で定義しなければなりません (つまり、関数/クラス本体の中に収めることはできません)。これは、テンプレート関数を効率的または自動的に生成するためにプログラムを再編成する場合に使用されます。

関連参照

汎用プラグマ
#pragma do_not_instantiate
#pragma instantiate IBM Copyright 2003