關鍵字 (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++20 時支援 (例如 /std:c++latest ) 。

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 僅適用于 C++ 的 Managed 擴充功能。 這個語法現在不建議使用。 如需詳細資訊,請參閱 Component Extensions for Runtime Platforms

g 適用于 C++/CLI。

另請參閱

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