有没有代码在c ++ 11中有序列点而不是c ++ 03的情况?

shu*_*e87 9 c++ sequence-points c++11

现在新的c ++ 11标准已经改变了序列点的描述方式,我试图找出c ++ 03和c ++ 11之间的确切变化.

特别是,在任何情况下,看起来相同的代码在c ++ 11中都会有一个序列点而不是c ++ 03吗?

Pra*_*rav 9

在C++ 11中没有序列点,而是在关系之前进行排序和排序.

以下是一些简单的例子,其中C++ 03和C++ 11之间的行为不同

int x = 10;
++++x; // well defined in C++11

int x = 10;
x = ++x +1; //well defined in C++11
Run Code Online (Sandbox Code Playgroud)

为什么?看看这个答案和相关主题.