Expressões de sufixo
Expressões postfix consistem em expressões principais ou no qual postfix operadores siga uma expressão primária.Operadores de sufixo estão listados na tabela a seguir.
Operadores de sufixo
Nome do operador |
Notação de operador |
---|---|
[ ] |
|
( ) |
|
type-name( ) |
|
. or –> |
|
++ |
|
–– |
A sintaxe a seguir descreve os possíveis postfix expressões:
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 )
O postfix-expressão acima pode ser uma expressão primária ou outra expressão de sufixo.Consulte expressões primárias.Sufixo expressões grupo da esquerda para a direita, permitindo assim que as expressões fossem encadeadas da seguinte maneira:
func(1)->GetValue()++
A expressão acima, func é uma expressão primária, func(1) é uma expressão de sufixo de função, func(1) - > GetData é uma expressão de sufixo especificando um membro da classe, func(1) - > GetData () é outra expressão de sufixo de função e toda a expressão é uma expressão de sufixo incrementar o valor de retorno do GetData.O significado da expressão como um todo é "chamar func, passando 1 como um argumento e obter um apontador para uma classe como um valor de retorno.Em seguida, chame GetValue() nessa classe e incrementar o valor retornado.
As expressões listadas acima são atribuição expressões, que significa que o resultado dessas expressões deve ser um r-value.
O formulário de expressão do sufixo
simple-type-name ( expression-list )
indica a invocação do construtor.Se o simples--nome do tipo é um tipo de fundamental, a lista de expressão deve ser uma expressão única e esta expressão indica uma projeção de que o valor da expressão do tipo fundamental.Esse tipo de expressão de conversão imita um construtor.Como este formulário permite que classes e tipos fundamentais ser construído usando a mesma sintaxe, este formulário é especialmente útil ao definir classes de modelo.
The cast-keyword is one of dynamic_cast, static_cast or reinterpret_cast.Mais informações podem ser encontradas em dynamic_cast, static_cast e reinterpet_cast.
O typeid operador é considerado uma expressão do sufixo.Consulte operador typeid.