Chi*_*nex 9 c++ java operator-precedence pre-increment post-increment
我试图理解这个页面上的例子,让我的大脑皱起了眉头:http: //answers.yahoo.com/question/index?qid = 200991103170907AAxXYG9
更具体地说这段代码:
int j = 4;
cout << j++ << j << ++j << endl;
Run Code Online (Sandbox Code Playgroud)
给出一个输出:566
现在,如果从右到左计算表达式,这对我来说是有意义的,但是在Java中有类似的表达式:
int j = 4;
System.out.print("" + (j++) + (j) + (++j));
Run Code Online (Sandbox Code Playgroud)
给出输出:456
这更直观,因为这表明它是从左到右进行评估的.在不同的网站上研究这个问题,似乎在C++中,编译器之间的行为有所不同,但我仍然不相信我理解.Java和C++之间评估差异的解释是什么?谢谢你.