Palabras clave de C++
Las palabras clave son identificadores reservados predefinidos que tienen un significado especial para el compilador. No se pueden usar como identificadores en el programa. Las palabras clave siguientes están reservadas para Microsoft C++. Los nombres con caracteres de subrayado iniciales son extensiones de Microsoft.
__box 2 |
||
__gc 2 |
||
__hook 3 |
||
__nogc 2 |
||
__pin 2 |
||
__sealed 2 |
||
__unhook 3 |
||
__value 2 |
||
naked 1 |
||
noinline 1 |
noreturn 1 |
|
nothrow 1 |
novtable 1 |
|
property 1 |
||
thread 1 |
||
uuid 1 |
||
1 Atributos extendidos para la palabra clave __declspec.
2 Aplicable solamente a Extensiones administradas para C++. Esta sintaxis ahora está en desuso.
3 Función intrínseca utilizada en el control de eventos.
Vea Características de Especificar CLR para obtener más información.
Específicos de Microsoft
En Microsoft C++, los identificadores con dos caracteres de subrayado iniciales se reservan para las implementaciones del compilador. Por consiguiente, la convención de Microsoft es que las palabras clave específicas de Microsoft vayan precedidas por subrayados dobles. Estas palabras no se pueden utilizar como nombres de identificador.
Las extensiones de Microsoft están habilitadas de manera predeterminada. Para asegurarse de que los programas sean totalmente portables, puede deshabilitar las extensiones de Microsoft especificando la opción de línea de comandos /Za compatible con ANSI (compilación para la compatibilidad con ANSI) durante la compilación. Al hacerlo, se deshabilitan las palabras clave específicas de Microsoft.
Con las extensiones de Microsoft habilitadas, puede usar las palabras clave específicas de Microsoft en los programas. Para la compatibilidad con ANSI, estas palabras clave van precedidas por un subrayado doble. Por compatibilidad con versiones anteriores, se admiten las versiones de un solo subrayado de todas las palabras clave con doble subrayado excepto __except, __finally, __leave y __try. Además, __cdecl está disponible sin subrayado inicial.
La palabra clave __asm reemplaza la sintaxis de C++ asm. asm está reservada por compatibilidad con otras implementaciones de C++, pero no se implementa. Use __asm.
La palabra clave __based tiene usos limitados para las compilaciones de destino de 32 y 64 bits.