您的位置:首页 > 其它

5.2 后缀表达式 + 5.2.1 下标

2006-04-17 18:20 204 查看

5.2 后缀表达式

1、后缀表达式从左至右组合。
postfix-expression:
primary-expression
postfix-expression [ expression ] // 下标
postfix-expression ( expression-listopt ) // 函数调用
simple-type-specifier ( expression-listopt )
typename ::opt nested-name-specifier identifier ( expression-listopt )
typename ::opt nested-name-specifier templateopt template-id ( expression-listopt )
postfix-expression . templateopt id-expression
postfix-expression -> templateopt id-expression
postfix-expression . pseudo-destructor-name
postfix-expression -> pseudo-destructor-name
postfix-expression ++
postfix-expression --
dynamic_cast < type-id > ( expression )
static_cast < type-id > ( expression )
reinterpret_cast < type-id > ( expression )
const_cast < type-id > ( expression )
typeid ( expression )
typeid ( type-id )

expression-list:
assignment-expression
expression-list , assignment-expression

pseudo-destructor-name:
::opt nested-name-specifieropt type-name :: ˜ type-name
::opt nested-name-specifier template template-id :: ˜ type-name
::opt nested-name-specifieropt ˜ type-name

5.2.1 下标

1、后缀表达式后面跟一个由方括号扩起来的表达式还是后缀表达式。前一个表达式应具有“pointer to T”类型,另一个应为枚举或整数类型。最终的后缀表达式为“T”类型的左值。类型“T”必须是定义完全的对象类型。表达式E1[E2]在定义上等于*((E1)+(E2))。[注:有关*和+的详细论述可参考5.3和5.7;有关数组的详细讨论可参考8.3.4。]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: