キーワード (C++)Keywords (C++)

キーワードは、特別な意味を持つ定義済みおよび予約済みの識別子です。Keywords are predefined reserved identifiers that have special meanings. プログラムでは、キーワードを識別子として使用することはできません。They cannot be used as identifiers in your program. 次のキーワードは Microsoft C++ 用に予約されています。The following keywords are reserved for Microsoft C++. 先頭にアンダー スコアを持つ名前と続く名 (C +/cli CLI) は Microsoft 拡張機能。Names with leading underscores, and names followed by (C++/CLI) are Microsoft extensions.

__abstract 2__abstract 2 _ _alignof 演算子 4__alignof Operator 4 __asm 4__asm 4 __assume 4__assume 4
__based 4__based 4 __box 2__box 2 __cdecl 4__cdecl 4 __declspec 4__declspec 4
__delegate 2__delegate 2 __event__event __except 4__except 4 _ _fastcall 4__fastcall 4
_ _finally 4__finally 4 _ _forceinline 4__forceinline 4 __gc 2__gc 2 __hook 3__hook 3
__identifier__identifier _ _if_exists__if_exists _ _if_not_exists__if_not_exists __inline 4__inline 4
__int16 4__int16 4 __int32 4__int32 4 __int64 4__int64 4 __int8 4__int8 4
__interface__interface __leave 4__leave 4 __m128__m128 __m128d__m128d
__m128i__m128i __m64__m64 _ _multiple_inheritance 4__multiple_inheritance 4 __nogc 2__nogc 2
__noop__noop __pin 2__pin 2 __property 2__property 2 __ptr32 4__ptr32 4
__ptr644__ptr644 __raise__raise __restrict 4__restrict 4 __sealed 2__sealed 2
_ _single_inheritance4__single_inheritance4 _ _sptr4__sptr4 _ _stdcall 4__stdcall 4 __super__super
__thiscall__thiscall __try_cast 2__try_cast 2 __unaligned 4__unaligned 4 __unhook 3__unhook 3
__uptr 4__uptr 4 __uuidof 4__uuidof 4 __value 2__value 2 __vectorcall 4__vectorcall 4
__virtual_inheritance 4__virtual_inheritance 4 __w64 4__w64 4 __wchar_t__wchar_t 抽象(C +/cli CLI)abstract(C++/CLI)
alignasalignas 配列(C +/cli CLI)array(C++/CLI) autoauto boolbool
breakbreak casecase catchcatch charchar
char16_tchar16_t char32_tchar32_t classclass constconst
const_castconst_cast constexprconstexpr continuecontinue decltypedecltype
defaultdefault 委任(C +/cli CLI)delegate(C++/CLI) deletedelete deprecated 1deprecated 1
dllexport 1dllexport 1 dllimport 1dllimport 1 dodo doubledouble
dynamic_castdynamic_cast elseelse enumenum enum クラスenum class
列挙型の構造体enum struct イベント(C +/cli CLI)event(C++/CLI) explicitexplicit externextern
falsefalse finallyfinally floatfloat forfor
は for eachfor each in friendfriend friend_asfriend_as gcnew(C +/cli CLI)gcnew(C++/CLI)
ジェネリック(C +/cli CLI)generic(C++/CLI) gotogoto ifif initonlyinitonly
インラインinline intint インターフェイス クラス(C +/cli CLI)interface class(C++/CLI) 構造体をインターフェイス(C +/cli CLI)interface struct(C++/CLI)
interior_ptr(C++/CLI)interior_ptr(C++/CLI) リテラル(C +/cli CLI)literal(C++/CLI) longlong 変更可能ですmutable
naked 1naked 1 namespacenamespace 新しい(C +/cli CLI)new(C++/CLI) newnew
noexceptnoexcept noinline 1noinline 1 noreturn 1noreturn 1 nothrow 1nothrow 1
novtable 1novtable 1 nullptrnullptr operatoroperator privateprivate
プロパティ(C +/cli CLI)property(C++/CLI) プロパティ 1property 1 protectedprotected publicpublic
ref クラスref class ref 構造体ref struct registerregister reinterpret_castreinterpret_cast
returnreturn safecastsafecast 封印された(C +/cli CLI)sealed(C++/CLI) selectany 1selectany 1
shortshort signedsigned sizeofsizeof staticstatic
static_assertstatic_assert static_caststatic_cast structstruct switchswitch
テンプレートtemplate thisthis thread 1thread 1 throwthrow
truetrue trytry typedeftypedef typeidtypeid
typeidtypeid typenametypename unionunion unsignedunsigned
使用して宣言using declaration 使用してディレクティブusing directive uuid 1uuid 1 値クラス(C +/cli CLI)value class(C++/CLI)
値構造体(C +/cli CLI)value struct(C++/CLI) virtualvirtual voidvoid volatilevolatile
whilewhile

1の拡張属性、 _ _declspecキーワード。1 Extended attributes for the __declspec keyword.

2のみ C++ マネージ拡張に適用できます。2 Applicable to Managed Extensions for C++ only. この構文は現在非推奨とされます。This syntax is now deprecated. 参照してくださいComponent Extensions for Runtime Platforms詳細についてはします。See Component Extensions for Runtime Platforms for more information.

3イベント処理で使用される組み込み関数。3 Intrinsic function used in event handling.

4以前のバージョンと旧バージョンと互換性のため、これらのキーワードは使用可能な (既定値) の両方で、先頭にアンダー スコア 2 つと、1 つ先頭にアンダー スコアと、Microsoft 拡張機能を有効になっています。4 For backward compatibility with previous versions, these keywords are available both with two leading underscores and a single leading underscore when Microsoft extensions are enabled (the default).

Microsoft 固有の仕様Microsoft Specific

Microsoft C++ では、先頭に 2 つのアンダースコアが付いている識別子はコンパイラ実装用に予約されています。In Microsoft C++, identifiers with two leading underscores are reserved for compiler implementations. Microsoft の規約では、Microsoft 固有のキーワードには先頭に 2 つのアンダースコアを付けることになっています。Therefore, the Microsoft convention is to precede Microsoft-specific keywords with double underscores. したがって、これらの単語を識別子名として使用することはできません。These words cannot be used as identifier names.

Microsoft 拡張機能は既定で有効になっています。Microsoft extensions are enabled by default. 完全に移植性のあるプログラムにするには、コンパイル時に /Za ( 言語拡張機能の無効化) オプション を指定することで、Microsoft 拡張機能を無効にできます。To ensure that your programs are fully portable, you can disable Microsoft extensions by specifying the /Za (Disable language extensions) option during compilation. これにより、Microsoft 固有のキーワードの一部が無効になります。When you do this, some Microsoft-specific keywords are disabled.

Microsoft 拡張機能を有効にすると、Microsoft 固有のキーワードをプログラム内で使用できます。When Microsoft extensions are enabled, you can use the Microsoft-specific keywords in your programs. ANSI 準拠のために、これらのキーワードは 2 つのアンダースコアで始まります。For ANSI compliance, these keywords are prefaced by a double underscore. 旧バージョンと互換性のためは、二重文字キーワードの多くのアンダー スコア 1 バージョンがサポートされます。For backward compatibility, single-underscore versions of many of the double-underscored keywords are supported. さらに、 _ _cdeclは先頭にアンダー スコアなしで使用できます。In addition, __cdecl is available with no leading underscore.

_ _Asmキーワードに置き換えられますC++asm構文。The __asm keyword replaces C++ asm syntax. asm は他の C++ 実装との互換性を維持するために予約されていますが、実装されていません。asm is reserved for compatibility with other C++ implementations, but not implemented. 使用 _ _asmします。Use __asm.

__based キーワードには、32 ビットおよび 64 ビット ターゲット コンパイルに関する使用制限があります。The __based keyword has limited uses for 32-bit and 64-bit target compilations.

Microsoft 固有の仕様はここまでEND Microsoft Specific

関連項目See also

構文規則Lexical Conventions
C++ の組み込み演算子、優先順位と結合規則C++ Built-in Operators, Precedence and Associativity