评估顺序>>和[++]

aco*_*ela 0 c++ operator-precedence

我对C++中的操作的优先级有疑问.我在http://en.cppreference.com/w/cpp/language/operator_precedence中搜索优先级,我读到的这个问题或多或少与C中的数组增量差异相同

我没有得到任何明确的结论.如果我做

var >> array[n++];
Run Code Online (Sandbox Code Playgroud)

运算符>>用于读取字符的流.¿它存放在哪里我读了?在n或n + 1?

谢谢

Tar*_*ama 8

这与优先级无关,它与后增量的语义有关.

var >> array[n++];
Run Code Online (Sandbox Code Playgroud)

n++将增加n并评估为原始值n.因此,它相当于写作:

var >> array[n];
++n;
Run Code Online (Sandbox Code Playgroud)

所以这个价值会被读入array[n].