2015-12-15 160 views
0

我对C++中操作的优先级有疑问。我在http://en.cppreference.com/w/cpp/language/operator_precedence中搜索优先顺序,我读到的问题大致相同array increment difference in C评估顺序>>和[++]

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

var >> array[n++]; 

运算符>>是用于读取字符的流。 ¿在哪里存储我读的内容?在n还是在n + 1?

谢谢

+0

在数组[n]中...... –

+0

评估顺序和优先顺序是完全不同的概念,与您的问题无关。 – molbdnilo

回答

8

这是不是真的做优先级,这是后增的语义做。

var >> array[n++]; 

n++将增加n和评价的n原始值。因此,它等同于写:

var >> array[n]; 
++n; 

那么该值将被读取到array[n]

+0

或... *如果您将n作为语句后的值,则该值将读入** array [n-1] ** * – Nawaz