Espacios de nombres
Variantes
Acciones

Palabras clave de C++

De cppreference.com
< cpp
 
 
Lenguaje C++
Temas generales
Palabras clave
Secuencias de escape
Control de flujo
Instrucciones de ejecución condicionales
Instrucciones de iteración (bucles)
Declaraciones de salto
Funciones
Declaración de funciones
Declaración de funciones lambda
Especificador inline
Especificación de excepciones (hasta C++20)
Especificador noexcept (C++11)
Excepciones
Espacios de nombres
Tipos
Especificadores
decltype (C++11)
auto (C++11)
alignas (C++11)
Especificadores de duración de almacenamiento
Inicialización
Expresiones
Representaciones alternas
Literales
Booleanos - Enteros - De punto flotante
De carácter - De cadena - nullptr (C++11)
Definidos por el usuario (C++11)
Utilidades
Atributos (C++11)
Tipos
Declaración de typedef
Declaración de alias de tipo (C++11)
Conversiones
Conversiones implícitas - Conversiones explícitas
static_cast - dynamic_cast
const_cast - reinterpret_cast
Asignación de memoria
Clases
Propiedades de funciones específicas de la clase
Funciones miembro especiales
Plantillas
Misceláneos
 
 

Esta es una lista de las palabras clave reservadas en C++. Como son utilizadas por el lenguaje, estas palabras clave no están disponibles para ser redefinidas o sobrecargadas.

alignas (desde C++11)
alignof (desde C++11)
and
and_eq
asm
atomic_cancel (TM TS)
atomic_commit (TM TS)
atomic_noexcept (TM TS)
auto(1)
bitand
bitor
bool
break
case
catch
char
char8_t (desde C++20)
char16_t (desde C++11)
char32_t (desde C++11)
class(1)
compl
concept (desde C++20)
const
consteval (desde C++20)
constexpr (desde C++11)
constinit (desde C++20)
const_cast
continue
co_await (desde C++20)
co_return (desde C++20)
co_yield (desde C++20)
decltype (desde C++11)

default(1)
delete(1)
do
double
dynamic_cast
else
enum
explicit
export(1)(3)
extern(1)
false
float
for
friend
goto
if
inline(1)
int
long
mutable(1)
namespace
new
noexcept (desde C++11)
not
not_eq
nullptr (desde C++11)
operator
or
or_eq
private
protected
public
reflexpr (reflexión TS)

register(2)
reinterpret_cast
requires (desde C++20)
return
short
signed
sizeof(1)
static
static_assert (desde C++11)
static_cast
struct(1)
switch
synchronized (TM TS)
template
this
thread_local (desde C++11)
throw
true
try
typedef
typeid
typename
union
unsigned
using(1)
virtual
void
volatile
wchar_t
while
xor
xor_eq

  • (1) - El significado cambió o se agregó un nuevo significado en C++11.
  • (2) - El significado cambió en C++17.
  • (3) - El significado cambió en C++20.

Observa que and, bitor, or, xor, compl, bitand, and_eq, or_eq, xor_eq, not, y not_eq (junto con los dígrafos <%, %>, <:, :>, %:, y %:%:) suministran una manera alterna de representar símbolos estándar.

Además de las palabras clave, hay identificadores con significado especial, que pueden ser usados como nombres de objetos o funciones, pero tienen un significado especial en ciertos contextos.

override(C++11)
final(C++11)
import(C++20)
module(C++20)
transaction_safe(TM TS)
transaction_safe_dynamic(TM TS)

También, todos los identificadores que contienen un doble subrayado __ en cualquier posición y cada identificador que comience con un subrayado seguido de una letra mayúscula siempre está reservado, y todos los identificadores que comiencen con un subrayado están reservados para ser usados como nombres en el espacio de nombres global. Véase identificadores para más detalles.

El espacio de nombres std se usa para ubicar nombres de la biblioteca estándar de C++. Véase extendiendo el espacio de nombres std para las reglas sobre cómo agregarle nombres.

El nombre posix se reserva para un espacio de nombres del más alto nivel en el futuro. El comportamiento está indefinido si un programa declara o define algo en ese espacio de nombres.

(desde C++11)

Los siguientes símbolos se reconocen por el preprocesador cuando se encuentran en el contexto de una directiva de preprocesador:

if
elif
else
endif

ifdef
ifndef
define
undef

include
line
error
pragma

defined
__has_include (desde C++17)
__has_cpp_attribute (desde C++20)

Los siguientes símbolos se reconocen por el preprocesador fuera del contexto de una directiva de preprocesador:

_Pragma(desde C++11)

[editar] Véase también

Documentación de C de Palabras clave de C