C++编程:有关输出流运算符<<,以及自增运算符++

请问为什么x的值为2,却只会输出1呢? 是与cout输出流以及自增运算符++有关系吗?

img

x++是先输出后加一,所以打印的就是1,打印完之后加一了

++运算符的优先级比<<高,因此

cout << x++ << endl;

相当于

(cout << (x++)) << endl;

x++是后缀++,其语义是表达式x++的值等于x的原始值,而x的值自增1
因此上述代码片段运行后,显示的结果为1(x的原始值),但是x的值为2(x自增1)