C++关键字
关键字是具有特殊含义的预定义的保留标识符。 它们不能用作标识符在程序。 下面的关键字作为 Microsoft C++ 是保留的。 与生成的下划线的名称是 Microsoft 扩展。
__box 2 |
||
__gc 2 |
||
__hook 3 |
||
__nogc 2 |
||
__pin 2 |
||
__sealed 2 |
||
__unhook 3 |
||
__value 2 |
||
已弃用 1 |
||
裸 1 |
||
noinline 1 |
noreturn 1 |
|
nothrow 1 |
novtable 1 |
|
属性 1 |
||
线程 1 |
||
uuid 1 |
||
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 位目标编译的使用。