Palabras clave (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 subrayado inicial y nombres especificados para C++/CX y C++/CLI son extensiones de Microsoft.

Palabras clave de Estándar C++

constinitc
continue
co_awaitc
co_returnc
co_yieldc
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportc
extern
false
float
for
friend
goto
if
inline

a la palabra clave específica de Microsoft __asm reemplaza la sintaxis asm de C++. asm está reservada por compatibilidad con otras implementaciones de C++, pero no se implementa. Use __asm para el ensamblado insertado en destinos x86. Microsoft C++ no admite el ensamblado insertado para otros destinos.

b Los sinónimos del operador extendido son palabras clave cuando se especifica /permissive- o /Za (Deshabilitar extensiones de lenguaje). No son palabras clave cuando están habilitadas las extensiones de Microsoft.

c se admite cuando /std:c++20 o posterior (por ejemplo, /std:c++latest) se especifica.

Palabras clave específicas de Microsoft C++

En C++, los identificadores que contienen dos guiones bajos consecutivos se reservan para las implementaciones del compilador. 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, se pueden deshabilitar las extensiones de Microsoft al especificar la opción /permissive- o /Za(Deshabilitar las extensiones del lenguaje) durante la compilación. Estas opciones deshabilitan algunas 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 conformidad 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 muchas de las palabras clave con doble subrayado. La palabra clave __cdecl está disponible sin subrayado inicial.

La palabra clave __asm reemplaza la sintaxis asm de C++. 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.

d función intrínseca que se usa en el control de eventos.

e para la compatibilidad con versiones anteriores, estas palabras clave están disponibles tanto con dos caracteres de subrayado iniciales como con un único carácter de subrayado inicial cuando se habilitan las extensiones de Microsoft (el predeterminado).

Palabras clave de Microsoft en modificadores __declspec

Estos identificadores son atributos extendidos para el modificador __declspec. Se consideran palabras clave dentro de ese contexto.

Palabras clave de C++/CLI y C++/CX

__abstractf
__boxf
__delegatef
__gcf
__identifier
__nogcf
__noop
__pinf
__propertyf
__sealedf

f Aplicable solamente a Extensiones administradas para C++. Esta sintaxis ahora está en desuso. Para obtener más información, consulta Component Extensions for Runtime Platforms.

g No es aplicable a C++/CLI.

Consulte también

Convenciones léxicas
Operadores integrados de C++, precedencia y asociatividad