C++关键字

关键字是具有特殊含义的预定义的保留标识符。 它们不能用作标识符在程序。 下面的关键字作为 Microsoft C++ 是保留的。 与生成的下划线的名称是 Microsoft 扩展。

__abstract 2

__alignof运算符

__asm

__assume

__基于

__box 2

__cdecl

__declspec

__delegate 2

__event

__except

__fastcall

__finally

__forceinline

__gc 2

__hook 3

__identifier

__if_exists

__if_not_exists

__“内联”

__int16

__int32

__int64

__int8

__interface

__leave

__m128

__m128d

__m128i

__m64

__multiple_inheritance

__nogc 2

__noop

__pin 2

__property 2

__raise

__sealed 2

__single_inheritance

stdcall

__super

__thiscall

__try/__except__try/__finally

__try_cast 2

__unaligned

__unhook 3

__uuidof

__value 2

__virtual_inheritance

__w64

__wchar_t,wchar_t

abstract

数组

auto

bool

break

case

catch

char

class

const

const_cast

continue

decltype

default

Delegate — 委托

删除

已弃用 1

dllexport 1

dllimport 1

do

double

dynamic_cast

else

enum

枚举选件类

枚举结构

事件

explicit

extern

false

finally

float

for

对于每个,

friend

friend_as

gcnew

普通

goto

if

initonly

内联

int

接口选件类

接口结构

interior_ptr

literal

long

变量

1

命名空间

new

new

noinline 1

noreturn 1

nothrow 1

novtable 1

nullptr

operator

private

属性

属性 1

protected

public

ref 类选件

ref 结构

注册

reinterpret_cast

return

safecast

sealed

selectany 1

short

已签名

sizeof

static

static_assert

static_cast

struct

switch

Template — 模板

this

线程 1

throw

true

try

typedef

typeid

typeid

类型名称

union

无符号整型位字段

using 说明,using 指令

uuid 1

值选件类

值结构

virtual

void

volatile

while

1 __declspec 关键字的扩展属性。

2 适用于只有 C++ 托管扩展。 此语法现在已弃用。

3 用于处理事件的内部函数。

有关更多信息,请参见面向 CLR 的语言功能

Microsoft 专用

Microsoft C++,与两个前导下划线的标识符为编译器实现是保留的。 因此,Microsoft 约定是位于特定于 Microsoft 的关键字与双下划线。 这些词不能被用为标识符名称。

默认情况下启用 Microsoft 扩展。 若要确保您的程序是完全可移植的,则可以通过指定 ANSI 兼容 /Za 命令行选项禁用 Microsoft 扩展 (对于 ANSI 兼容性请编译) 在编译时。 如果这样做,Microsoft 特定的关键字将被禁用。

在 Microsoft 扩展启用时,您的程序可以使用特定于 Microsoft 的关键字。 对于 ANSI 标准,这些关键字后跟一个双下划线开头。 对于向后兼容性,所有双将基础的关键字的单下划线版本 ( __except的,__finally、__leave和 __try 支持。 此外,__cdecl 可用的没有前导下划线。

__asm 关键字替换 C++ asm 语法。 asm 与其他 C++ 实现的兼容性是保留的,但是,未实现。 请使用 __asm。

__based 关键字限定 32 位和 64 位目标编译的使用。

请参见

参考

词法约定

C++运算符