Expresiones de sufijo
Las expresiones de sufijo constan de las expresiones primarias o expresiones en las que los operadores postfijos siguen una expresión primaria.Se enumeran los operadores postfijos en la tabla siguiente.
Operadores postfijos
Nombre de operador |
Notación de operador |
---|---|
[ ] |
|
( ) |
|
nombre de tipo() |
|
. o – > |
|
++ |
|
–– |
La sintaxis siguiente describe expresiones posibles postfijo:
primary-expression
postfix-expression [ expression ]
postfix-expression ( expression-list<SUB>opt</SUB> )
simple-type-name ( expression-list<SUB>opt</SUB> )
postfix-expression . name
postfix-expression –> name
postfix-expression ++
postfix-expression ––
cast-keyword < typename > (expression )
typeid ( typename )
La sufijo-expresión anterior puede ser una expresión primario u otra expresión de sufijo.Vea expresiones primarias.Las expresiones de sufijo agrupan de izquierda a derecha, por lo que las expresiones sean encadenadas juntas como sigue:
func(1)->GetValue()++
En la expresión anterior, funcional es una expresión primaria, func (1) es una expresión de sufijo de la función, (1) >GetData funcional es una expresión sufijo que especifica un miembro de clase, funcional (1) > GetData() es otra expresión de sufijo de la función; la expresión completa es una expresión sufijo que incrementa el valor devuelto GetData.El significado de la expresión de conjunto es la “llamada 1 que pasa funcional como argumento y obtiene un puntero a una clase como valor devuelto.Llame a GetValue() en esa clase, después aumente el valor devuelto.
Las expresiones enumeradas anteriormente son expresiones de asignación, lo que significa que el resultado de estas expresiones debe ser un r-value.
El formato de la expresión de sufijo
simple-type-name ( expression-list )
indica la invocación de constructores.Si el simple-tipo-nombre es un tipo fundamental, la lista de la expresión debe ser una expresión, y esta expresión indica una conversión del valor de la expresión al tipo fundamental.Este tipo de expresión de conversión imita un constructor.Dado que este formulario permite tipos fundamentales y las clases se construyan a partir utilizando la misma sintaxis, este formulario es especialmente útil para definir clases de plantilla.
la conversión-palabra clave es una de dynamic_cast, de static_cast o de reinterpret_cast.Más información se encuentra en dynamic_cast, static_cast y reinterpet_cast.
Vea el operador de typeid una expresión de sufijo.Vea operador typeid.