noncreatable
それ自体ではインスタンス化できないオブジェクトを定義します。
構文
[noncreatable]
解説
noncreatable C++ 属性には、 noncreatable MIDL 属性と同じ機能があり、コンパイラによって、生成された .IDL ファイルに自動的に渡されます。
この属性が ATL を使用するプロジェクト内で使用されている場合、属性の動作は変わります。 上記の動作に加えて、属性は OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO マクロも挿入します。 このマクロは、オブジェクトが外部で作成できないことを ATL に示します。
例
// cpp_attr_ref_noncreatable.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];
[object, uuid("11111111-1111-1111-1111-111111111111")]
__interface A
{
};
[coclass, uuid("11111111-1111-1111-1111-111111111112"), noncreatable]
class CMyClass : public A
{
HRESULT xx();
};
要件
属性コンテキスト | 値 |
---|---|
適用対象 | $ |
反復可能 | いいえ |
必要な属性 | coclass |
無効な属性 | なし |
属性コンテキストの詳細については、「 属性コンテキスト」を参照してください。