關鍵字 (C++)

關鍵字是具有特殊意義的預先定義保留識別項。 它們無法做為程式中的識別碼。 下列是 Microsoft C++ 的保留關鍵字。 為 C++/CX 和 C++/CLI 指定的前置底線和名稱的名稱是 Microsoft 延伸模組。

標準 C++ 關鍵字

constinitC
continue
co_awaitC
co_returnC
co_yieldC
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportC
extern
false
float
for
friend
goto
if
inline

a Microsoft 特定 __asm 關鍵字會取代 C++ asm 語法。 保留 asm 以與其他 C++ 實作相容,但沒有實作。 用於 __asm x86 目標上的內嵌元件。 Microsoft C++ 不支援其他目標的內嵌元件。

b指定或/Za (停用語言延伸) /permissive- ,擴充運算子同義字是關鍵字。 啟用 Microsoft 擴充功能時,它們不是關鍵字。

c指定 (,例如 /std:c++latest) 時 /std:c++20 或更新版本支援。

Microsoft 特定的 C++ 關鍵字

在 C++ 中,包含兩個連續底線的識別碼會保留給編譯器實作。 Microsoft 慣例是在 Microsoft 特定關鍵字前面加上雙底線。 這些字不能當做識別碼名稱使用。

Microsoft 擴充功能預設為啟用。 若要確保您的程式完全可移植,您可以在編譯期間指定 /permissive-/Za (停用語言延伸模組) 選項,以停用 Microsoft 擴充功能。 這些選項會停用一些 Microsoft 特定的關鍵字。

啟用 Microsoft 擴充功能後,您可以在程式中使用 Microsoft 專有的關鍵字。 針對 ANSI 一致性,這些關鍵字前面會加上雙底線。 為了回溯相容性,支援許多雙底線關鍵字的單一底線版本。 __cdecl關鍵字沒有前置底線可用。

關鍵字 __asm 會取代 C++ asm 語法。 保留 asm 以與其他 C++ 實作相容,但沒有實作。 請使用 __asm

關鍵字 __based 對 32 位和 64 位目標編譯的用途有限。

d 事件處理中使用的內建函式。

e 為了與舊版的回溯相容性,當啟用 Microsoft 延伸模組時,這些關鍵字會同時提供兩個前置底線和單一前置底線, (預設) 。

__declspec修飾詞中的 Microsoft 關鍵字

這些識別碼是修飾詞的 __declspec 擴充屬性。 這些關鍵字會被視為該內容中的關鍵字。

C++/CLI 和 C++/CX 關鍵字

__abstractF
__boxF
__delegateF
__gcF
__identifier
__nogcF
__noop
__pinF
__propertyF
__sealedF

f僅適用于Managed Extensions for C++。 這個語法現在不建議使用。 如需詳細資訊,請參閱執行階段平台的元件延伸模組

g 適用于 C++/CLI。

另請參閱

語彙慣例
C++ 內建運算子、優先順序和關聯性