關鍵字 (C++)
關鍵字是具有特殊意義的預先定義保留識別項。 您不能在程式中將關鍵字當做識別碼使用。 下列是 Microsoft C++ 的保留關鍵字。 有前置底線的名稱,和為 C++/CX 和 C++/CLI 指定的名稱,是 Microsoft 延伸模組。
標準 C++ 關鍵詞
alignas
alignof
and
b
and_eq
b
asm
a
auto
bitand
b
bitor
b
bool
break
case
catch
char
char8_t
c
char16_t
char32_t
class
compl
b
concept
c
const
const_cast
consteval
c
constexpr
constinit
c
continue
co_await
c
co_return
c
co_yield
c
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
c
extern
false
float
for
friend
goto
if
inline
Microsoft 特定的 __asm
關鍵字會取代 C++ asm
語法。 保留 asm
以與其他 C++ 實作相容,但沒有實作。 針對 x86 目標上的內嵌元件使用 __asm
。 Microsoft C++ 不支援其他目標的內嵌元件。
b 指定/permissive-
或/Za
時 (停用語言延伸模組),擴充運算子同義字為關鍵字。 啟用 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 位元目標編譯的使用有限。
__alignof
e
__asm
e
__assume
e
__based
e
__cdecl
e
__declspec
e
__event
__except
e
__fastcall
e
__finally
e
__forceinline
e
__hook
d
__if_exists
__if_not_exists
__inline
e
__int16
e
__int32
e
__int64
e
__int8
e
__interface
__leave
e
__m128
d 用於事件處理的內建函式。
e 為了與舊版的回溯相容性,這些關鍵字在啟用 Microsoft 延伸模組時,同時以兩個前置底線和單一前置底線提供。
__declspec 修飾詞中的 Microsoft 關鍵字
這些標識碼是 __declspec
修飾詞的擴充屬性。 這些會視為該內容中的關鍵字。
C++/CLI 和 C++/CX 關鍵字
__abstract
f
__box
f
__delegate
f
__gc
f
__identifier
__nogc
f
__noop
__pin
f
__property
f
__sealed
f
__try_cast
f
__value
f
abstract
g
array
g
as_friend
delegate
g
enum class
enum struct
event
g
f 只適用於 Managed Extensions for C++。 這個語法現在不建議使用。 如需詳細資訊,請參閱 Component Extensions for Runtime Platforms。
g 適用於 C++/CLI。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應