后缀表达式
后缀表达式包括后缀运算符后面是一个主要表达式的主要表达式或表达式。 后缀运算符下表中列出。
后缀运算符
运算符名称 |
运算符表示形式 |
---|---|
[ ] |
|
( ) |
|
类型名称() |
|
. 或 – AMP_GT |
|
++ |
|
–– |
下面的语法描述了可能的后缀表达式:
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 )
上面 的后缀表达式 可以是主表达式或另一后缀表达式。 请参见 主要表达式。 后缀从左到右表达式的组,从而允许表达式链接在一起如下所示:
func(1)->GetValue()++
在上面的表达式,函数是主表达式,函数 (1) 是函数后缀表达式,函数 (1) - AMP_GTGetData 是指定类的成员后缀表达式,函数 (1) - AMP_GT GetData() 是另一个函数后缀表达式,并且,整个表达式是增加 GetData 的返回值后缀表达式。 整个表达式的含义为 “调用函数传递的 1 作为参数并获取指向类,返回值。 然后对该类的 GetValue(),然后添加返回的值。
列表的表达式上面是赋值表达式,这意味着这些表达式的结果必须是 r 值。
后缀表达式窗体
simple-type-name ( expression-list )
指示构造函数的调用。 如果该简单类型名称是基本类型,该表达式列表必须是一个表达式,该表达式,该表达式表示表达式的值转换为基础类型。 此类将表达式模式构造函数。 由于此窗体允许使用相同的基本语法将构造类型和类,此窗体特别有用,将定义模板时类别。
该 转换关键字 是一个 dynamic_cast、 static_cast 或 reinterpret_cast。 更多信息在 dynamic_cast、 static_cast 和 reinterpet_cast能找到。
typeid 运算符被视为后缀表达式。 请参见 typeid 运算符。