C++ 關鍵字
關鍵字是具有特殊意義的預先定義保留識別項。 您不能在程式中將關鍵字當做識別項使用。 下列是 Microsoft C++ 的保留關鍵字。 名稱前面有底線的就是 Microsoft 擴充功能。
__box 2 |
||
__gc 2 |
||
__hook 3 |
||
__nogc 2 |
||
__pin 2 |
||
__sealed 2 |
||
__unhook 3 |
||
__value 2 |
||
naked 1 |
||
noinline 1 |
noreturn 1 |
|
nothrow 1 |
novtable 1 |
|
property 1 |
||
thread 1 |
||
uuid 1 |
||
1 __declspec 關鍵字的擴充屬性。
2 只適用於 Managed Extensions for C++。 這個語法現在不建議使用。
3 用於事件處理的內建函式。
如需詳細資訊,請參閱 執行階段平台的元件擴充功能。
Microsoft 特定的
在 Microsoft C++ 中,有兩個前置底線的識別項是保留給編譯器實作。 因此,Microsoft 慣例就是在 Microsoft 專有關鍵字前面加上雙底線。 這些字詞不可做為識別項名稱使用。
Microsoft 擴充功能預設為啟用。 為了確保您的程式具完整可攜性,您可以在編譯期間指定符合 ANSI 標準的 /Za 命令列選項 (適用於 ANSI 相容性編譯),停用 Microsoft 擴充功能。 如果您這樣做,Microsoft 專有關鍵字就會停用。
啟用 Microsoft 擴充功能後,您可以在程式中使用 Microsoft 專有的關鍵字。 為符合 ANSI 標準,這些關鍵字前面都加上雙底線。 為了提供回溯相容性,支援 __except、__finally、__leave 和 __try 以外的所有其他雙底線關鍵字的單底線版本。 此外,__cdecl 可以不使用前置底線。
__asm 關鍵字取代 C++ asm 語法。 保留 asm 以與其他 C++ 實作相容,但沒有實作。 使用 __asm。
__based 關鍵字用於 32 位元和 64 位元目標編譯時有所限制。