C++ のキーワード
キーワードは特別な意味を持つ定義済みの予約済みの識別子です。これらは、プログラム上に識別子として使うことはできません。次のキーワードはMicrosoft C++のために予約されています。先頭にアンダースコアがの名前はMicrosoftの拡張機能です。
__gc2 |
||
生の1 |
||
スレッド1 |
||
uuid1 |
||
__declspec のキーワードの1拡張属性。
2ではC++マネージのみに適用されます。この構文は使用されなくなりました。
イベントの処理に使用する3組み込み関数。
詳細については、「言語機能は、CLR を対象とする」を参照してください。
Microsoft 固有の仕様 →
Microsoft C++では、2種類の先頭にアンダースコアを使用して識別子は、コンパイラの実装のために予約されています。したがって、Microsoftの規則はアンダースコアとMicrosoft固有のキーワードの前にキーワードを指定します。これらの単語を識別子名として使用することはできません。
Microsoft 拡張機能は既定で有効になっています。プログラムが完全に移植性のあるであることを確認するには、/Za のANSI互換のコマンド ライン オプション (ANSI互換のコンパイル) を指定すると、コンパイル時のMicrosoft拡張機能を無効にできます。これを行うと、Microsoft 固有キーワードが無効になります。
Microsoft拡張機能を有効にすると、プログラムでMicrosoft固有のキーワードを使用できます。ANSI準拠では、これらのキーワードはアンダースコアで始まります。下位互換性のために、__exceptを除くすべてのDouble下線付きのキーワードの単一のアンダースコアのバージョン、__finally、__leaveと __try がサポートされます。また、__cdecl には、先頭にアンダースコアなしで使用できます。
__asm のキーワードはC++ asm の構文を置き換えます。asm は、他のC++の実装で互換性のために予約します。ただし、実装されていません。__asm を使用してください。
__based キーワードには、32 ビットおよび 64 ビット ターゲット コンパイルに関する使用制限があります。