C++关键字
关键字是具有特殊含义的预定义的保留标识符。它们不能用作标识符在程序。下面的关键字作为 Microsoft C++ 是保留的。与生成的下划线的名称是 Microsoft 扩展。
__gc2 |
||
已弃用1 |
||
裸1 |
||
属性1 |
||
线程1 |
||
uuid1 |
||
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 位目标编译的使用。