的例子。
++structure.field;
增量 field
而不是给出 "错误的增量类型参数 "的编译器错误,尽管++和.运算符是等价的层次结构,因此:应该从左到右执行。
我是不是遗漏了什么?
前缀和后缀 ++
有不同的优先权。.
的优先级高于 前缀 增量运算符,如在 cppreference.com.
.
和 后缀 的增量具有相同的优先级。如果你写的是 structure.field++
那么他们就会有同样的优先权,联想性就会启动,以解决歧义,就像 (structure.field)++
而非 structure.(field++)
.