邮政运营商评估订单

时间:2014-10-09 04:37:12

标签: java c++ post-increment

我的朋友和我发现了一个有趣的笑话C > C++因为他喜欢C over C ++。但是,我很好奇执行该代码段的有效性。我跑了并编译了

int C;
C = 1;std::cout << (C++ < C) << "\n";
C = 1;std::cout << (C < C++) << "\n";
C = 1;std::cout << (C++ > C) << "\n";
C = 1;std::cout << (C > C++) << "\n";

使用C ++ 98 / C ++ 11输出为1 0 0 1,对Java使用true,false,false,false。

我的问题是这些陈述的评估过程如何运作?我特别困惑,因为C++ < CC > C++在Java中相互矛盾,同时在C ++中保持一致,以及C++ < C的逻辑,据说左侧和右侧相等或者左侧大于右侧。

1 个答案:

答案 0 :(得分:2)

规范未对C / C ++定义结果,因为未指定评估顺序。有关详细信息,请参阅this answer