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 caracteres de subrayado iniciales y nombres especificados para C++/CX y C++/CLI son extensiones de Microsoft.
Palabras clave estándar de C++
alignas
alignof
andand
and_eqand_eq
asmasm
auto
bitandbitand
bitorbitor
bool
break
case
catch
char
char8_tchar8_t
char16_t
char32_t
class
complcompl
conceptconcept
const
const_cast
constevalconsteval
constexpr
constinitconstinit
continue
co_awaitco_await
co_returnco_return
co_yieldco_yield
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportexport
extern
false
float
for
friend
goto
if
inline
una palabra clave específica de Microsoft reemplaza la sintaxis de asm C++. asm está reservada por compatibilidad con otras implementaciones de C++, pero no se implementa. Se __asm usa para el ensamblado en línea en destinos x86. Microsoft C++ no admite ensamblados en línea para otros destinos.
b Los sinónimos de operador extendido son palabras clave cuando se especifica o (Deshabilitar extensiones de lenguaje). No son palabras clave cuando se habilitan las extensiones de Microsoft.
c Se admite cuando se especifica o posterior (como /std:c++latest ).
Palabras clave de C++ específicas de Microsoft
En C++, los identificadores que contienen dos caracteres de subrayado consecutivos se reservan para las implementaciones del compilador. La convención de Microsoft es preceder a las palabras clave específicas de Microsoft con caracteres de subrayado 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 son totalmente portátiles, puede deshabilitar las extensiones de Microsoft especificando la opción o (Deshabilitar extensiones de /permissive-/permissive- 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 precedida de un carácter de subrayado doble. Por compatibilidad con versiones anteriores, se admiten versiones de caracteres de subrayado único de muchas de las palabras clave de doble subrayado. La __cdecl palabra clave está disponible sin ningún carácter de subrayado inicial.
La __asm palabra clave reemplaza la sintaxis de asm C++. asm está reservada por compatibilidad con otras implementaciones de C++, pero no se implementa. Use __asm.
La palabra clave tiene usos limitados para compilaciones de destino de __based 32 y 64 bits.
__alignof__alignof
__asm__asm
__assume__assume
__based__based
__cdecl__cdecl
__declspec__declspec
__event
__except__except
__fastcall__fastcall
__finally__finally
__forceinline__forceinline
__hook__hook
__if_exists
__if_not_exists
__inline__inline
__int16__int16
__int32__int32
__int64__int64
__int8__int8
__interface
__leave__leave
__m128
d Función intrínseca usada en el control de eventos.
e Para la compatibilidad con versiones anteriores, estas palabras clave están disponibles con dos caracteres de subrayado iniciales y un único carácter de subrayado inicial cuando se habilitan las extensiones de Microsoft (valor predeterminado).
Palabras clave de Microsoft en __declspec modificadores
Estos identificadores son atributos extendidos para el __declspec modificador . Se consideran palabras clave dentro de ese contexto.
Palabras clave de C++/CLI y C++/CX
__abstract__abstract
__box__box
__delegate__delegate
__gc__gc
__identifier
__nogc__nogc
__noop
__pin__pin
__property__property
__sealed__sealed
__try_cast__try_cast
__value__value
abstractabstract
arrayarray
as_friend
delegatedelegate
enum class
enum struct
eventevent
f Aplicable solo a Extensiones administradas para C++ . Esta sintaxis ahora está en desuso. Para obtener más información, vea Extensiones de componentes para plataformas de tiempo de ejecución.
g Aplicable a C++/CLI.
Vea también
Convenciones léxicas
Operadores integrados de C++, precedencia y asociatividad