Punctuation
From cppreference.net
Estos son los símbolos de puntuación en C++. El significado de cada símbolo se detalla en las páginas enlazadas.
Operadores de preprocesamiento
Los operadores de preprocesamiento son reconocidos por preprocesadores .
# (incluyendo % : )
- Introducir una directiva de preprocesamiento .
- El operador de preprocesamiento para stringificación .
## (incluyendo % : % : )
Operadores y puntuadores de un solo carácter
{ y } (incluyendo < % y % > )
- En una class definition, delimita la member specification .
- En una enumeration definition, delimita la lista de enumeradores.
- Delimita una compound statement . La compound statement puede ser parte de
-
- una definición de función
- un try bloque
|
(desde C++11) |
- Parte de la inicialización de agregados (hasta C++11) inicialización de lista (desde C++11) sintaxis de un inicializador .
- En una definición de espacio de nombres , delimita el cuerpo del espacio de nombres.
- En una especificación de vinculación de lenguaje , delimita las declaraciones.
|
(desde C++20) |
[ y ] (incluyendo < : y : > )
- Operador de subíndice ; parte de operator [ ] en sobrecarga de operadores .
- Parte del declarador de arreglo en una declaración o un type-id (ej. en una new expresión ).
- Parte del operador new [ ] en sobrecarga de operadores (función de asignación) .
- Parte del operador delete [ ] en expresión delete y sobrecarga de operadores (función de desasignación) .
|
(desde C++11) |
|
(desde C++17) |
|
(desde C++26) |
( y )
- En una expresión, indica agrupación .
- Operador de llamada a función ; parte de operator ( ) en sobrecarga de operadores .
- En una conversión de tipo estilo función , delimita la expresión/inicializadores.
-
En un
static_cast,const_cast,reinterpret_cast, odynamic_cast, delimita la expresión. - Delimita el operando de los siguientes operadores:
| (desde C++11) |
- En una expresión placement new , delimitar los argumentos de colocación.
- En una expresión new , delimitar opcionalmente el type-id.
- En una expresión new , delimitar los inicializadores.
- En un cast estilo C , delimitar el type-id.
- En una declaración o un type-id , indicar agrupación.
- Delimitar la lista de parámetros en
-
- un declarador de función (en una declaración o un type-id )
|
(desde C++11) |
| (desde C++17) | |
| (desde C++20) |
- Parte de la sintaxis de inicialización directa de un inicializador .
- En una declaración asm , delimita el literal de cadena.
- En una lista de inicialización de miembros , delimita los inicializadores para una base o miembro.
- Delimita la cláusula de control de una sentencia de selección o sentencia de iteración, incluyendo:
| (desde C++11) |
- En un manejador , delimitar la declaración del parámetro.
- En una definición de macro tipo función , delimitar los parámetros de la macro.
- En una invocación de macro tipo función , delimitar los argumentos de la macro o evitar que las comas se interpreten como separadores de argumentos.
-
Parte de un operador de preprocesamiento
defined,__has_include(since C++17) ,__has_cpp_attribute(since C++20) .
|
(desde C++11) | ||
|
(desde C++14) | ||
|
(desde C++17) | ||
|
(desde C++20) |
;
- Indicar el final de
-
- una statement
- una declaration o member declaration
|
(desde C++20) |
- Separe la condición y la sentencia de una for statement .
:
- Parte del operador condicional .
- Parte de la declaración de etiqueta .
- En la cláusula base de una definición de clase , introduce la clase base .
- Parte del especificador de acceso en la especificación de miembros.
- En una declaración de miembro de campo de bits , introduce el ancho.
- En una definición de constructor , introduce la lista de inicialización de miembros.
|
(desde C++11) |
|
(desde C++17) |
|
(desde C++20) |
?
- Parte de conditional operator .
.
|
(desde C++20) |
~ (incluyendo compl )
- Operador de complemento unario (también conocido como operador de negación bit a bit) ; parte de operator~ en sobrecarga de operadores .
- Parte de una expresión de identificador para nombrar un destructor o pseudo-destructor.
! (incluyendo not )
- Operador lógico NOT ; parte de operator ! en sobrecarga de operadores .
|
(desde C++23) |
+
- Operador unario de suma ; parte de operator + en sobrecarga de operadores .
- Operador binario de suma ; parte de operator + en sobrecarga de operadores .
-
- Operador unario de resta ; parte de operator - en sobrecarga de operadores .
- Operador binario de resta ; parte de operator - en sobrecarga de operadores .
*
- Operador de indirección ; parte de operator * en sobrecarga de operadores .
- Operador de multiplicación ; parte de operator * en sobrecarga de operadores .
- Operador de puntero o parte del operador de puntero-a-miembro en un declarador o en un type-id .
|
(desde C++17) |
/
- Operador de división ; parte de operator / en sobrecarga de operadores .
%
- Operador módulo ; parte de operator % en sobrecarga de operadores .
^ (incluyendo xor )
- Operador XOR bit a bit ; parte de operator ^ en sobrecarga de operadores .
& (incluyendo bitand )
- Operador de dirección ; parte de operator & en sobrecarga de operadores .
- Operador AND a nivel de bits ; parte de operator & en sobrecarga de operadores .
- Operador de referencia a lvalue en un declarador o en un type-id .
|
(desde C++11) |
| (incluyendo bitor )
- Operador OR a nivel de bits ; parte de operator | en sobrecarga de operadores .
=
- Operador de asignación simple ; parte de operator = en sobrecarga de operadores , que podría ser una función miembro especial ( operador de asignación de copia o operador de asignación de movimiento (desde C++11) ).
- Parte de la inicialización por copia y inicialización de agregado (hasta C++11) inicialización de lista por copia (desde C++11) sintaxis de un inicializador .
- En una declaración de función , introduce un argumento predeterminado .
- En una lista de parámetros de plantilla , introduce un argumento de plantilla predeterminado .
- En una definición de alias de espacio de nombres , separa el alias y el espacio de nombres aliaseado.
- En una definición de enumeración , introduce el valor del enumerador.
- Parte del especificador puro en una declaración de función virtual pura .
|
(desde C++11) |
|
(desde C++20) |
<
- Operador menor que ; parte de operator < en sobrecarga de operadores .
-
En un
static_cast,const_cast,reinterpret_cast, odynamic_cast, introduce el type-id. - Introduce una lista de argumentos de plantilla .
- Introduce una lista de parámetros de plantilla en
|
(desde C++20) |
- Parte de template <> en declaración de especialización de plantilla .
- Introduce un nombre de cabecera en
| (desde C++17) | |
| (desde C++20) |
>
- Operador mayor que ; parte de operator > en sobrecarga de operadores .
-
static_cast,const_cast,reinterpret_cast, odynamic_cast, indican el final de type-id. - Indican el final de una lista de argumentos de plantilla .
- Indican el final de una lista de parámetros de plantilla en
|
(desde C++20) |
- Parte de template <> en declaración de especialización de plantilla .
- Indicar el final de un nombre de cabecera en
| (desde C++17) | |
| (desde C++20) |
,
- Operador coma ; parte de operator, en sobrecarga de operadores .
- Separador de lista en
-
- la lista de declaradores en una declaración
- lista de inicializadores en inicialización
- la lista de argumentos de ubicación en un placement new
- la lista de argumentos en una expresión de llamada a función
- la lista de enumeradores en una declaración enum
- la lista de clases base en una declaración de clase
- la lista de inicializadores de miembros en una definición de constructor
- una lista de parámetros de función
- una lista de parámetros de plantilla
- una lista de argumentos de plantilla
|
(desde C++11) |
|
(desde C++17) |
|
(desde C++23) |
-
- la lista de parámetros de macro en una definición de macro tipo función
- la lista de argumentos de macro en una invocación de macro tipo función , a menos que se encuentre entre los paréntesis de un argumento
|
(desde C++11) |
Operadores y puntuadores de múltiples caracteres
...
- En la lista de parámetros de un declarador de función o expresión lambda (desde C++11) o guía de deducción definida por el usuario (desde C++17) , significa una función variádica .
- En un manejador , significa el manejador catch-all.
|
(desde C++11) |
|
(desde C++26) |
::
- Operador de resolución de ámbito en
-
- un nombre calificado
- una declaración de puntero-a-miembro
-
una expresión
newodelete, para indicar que solo se buscan funciones globales de asignación o desasignación
|
(desde C++11) |
|
(desde C++17) |
. *
- >
- Operador de acceso a miembro ; parte de operator - > en sobrecarga de operadores .
|
(since C++11) |
|
(since C++17) |
|
(since C++20) |
- > *
- Operador de acceso a miembro por puntero ; parte de operator - > * en sobrecarga de operadores .
+ =
- Operador de asignación compuesta ; parte de operator + = en sobrecarga de operadores .
- =
- Operador de asignación compuesta ; parte de operator - = en sobrecarga de operadores .
* =
- Operador de asignación compuesta ; parte de operator * = en sobrecarga de operadores .
/ =
- Operador de asignación compuesta ; parte de operator / = en sobrecarga de operadores .
% =
- Operador de asignación compuesta ; parte de operator % = en sobrecarga de operadores .
^ = (incluyendo xor_eq )
- Operador de asignación compuesta ; parte de operator ^ = en sobrecarga de operadores .
& = (incluyendo and_eq )
- Operador de asignación compuesta ; parte de operator & = en sobrecarga de operadores .
| = (incluyendo or_eq )
- Operador de asignación compuesta ; parte de operator | = en sobrecarga de operadores .
==
- Operador de igualdad ; parte de operator == en sobrecarga de operadores .
! = (incluyendo not_eq )
- Operador de desigualdad ; parte de operator ! = en sobrecarga de operadores .
<=
- Operador menor o igual que ; parte de operator <= en sobrecarga de operadores .
>=
- Operador mayor-que-o-igual-que ; parte de operator >= en sobrecarga de operadores .
<=>
|
(desde C++20) |
&& (incluyendo and )
- Operador lógico AND ; parte de operator && en sobrecarga de operadores .
|
(desde C++11) |
|| (incluyendo or )
- Operador lógico OR ; parte de operator || en sobrecarga de operadores .
<<
- Operador de desplazamiento bit a bit ; parte de operator << en sobrecarga de operadores ( operador bit a bit o operador de inserción de flujo ).
>>
- Operador de desplazamiento bit a bit ; parte de operator >> en sobrecarga de operadores ( operador bit a bit o operador de extracción de flujo ).
<<=
- Operador de asignación compuesta ; parte de operator <<= en sobrecarga de operadores .
>>=
- Operador de asignación compuesta ; parte de operator >>= en sobrecarga de operadores .
++
- Operador de incremento ; parte de operator ++ en sobrecarga de operadores .
--
- Operador de decremento ; parte de operator -- en sobrecarga de operadores .
Referencias
- Estándar C++23 (ISO/IEC 14882:2024):
-
- 5.12 Operadores y puntuadores [lex.operators]
- Estándar C++20 (ISO/IEC 14882:2020):
-
- 5.12 Operadores y puntuadores [lex.operators]
- Estándar C++17 (ISO/IEC 14882:2017):
-
- 5.12 Operadores y puntuadores [lex.operators]
- Estándar C++14 (ISO/IEC 14882:2014):
-
- 2.13 Operadores y signos de puntuación [lex.operators]
- Estándar C++11 (ISO/IEC 14882:2011):
-
- 2.13 Operadores y puntuadores [lex.operators]
- Estándar C++03 (ISO/IEC 14882:2003):
-
- 2.12 Operadores y puntuadores [lex.operators]
- Estándar C++98 (ISO/IEC 14882:1998):
-
- 2.12 Operadores y puntuadores [lex.operators]
Véase también
| Representaciones alternativas | grafías alternativas para ciertos operadores |
|
Documentación de C
para
Puntuación
|
|