C++ 这里的代码说明,c++;
但我期待着:C++ 这里的代码说明,c++;,c++,C++,但我期待着: b,a c,b d,c 我认为这与这里的行动顺序有关。如果你没有编译到C++ 17标准修订版或最近遇到的版本,则流运算符( < P>)。旧的C++标准没有指定的排序。 a,b b,c c,d 或 是有效的输出 从C++17开始,该标准保证在继续下一个之前,所有的副作用都会得到解决,这实际上是一个令人讨厌的情况对于c++何时会出现,没有确切的保证。这取决于编译器确定在中执行此操作的顺序。您可能是指++c。同样,在c++17编译器上,输出将是a、a、b、b等。请查看参考资料
b,a
c,b
d,c
我认为这与这里的行动顺序有关。如果你没有编译到C++ 17标准修订版或最近遇到的版本,则流运算符(<代码> < P>)。旧的C++标准没有指定的排序。
a,b
b,c
c,d
或
是有效的输出
从C++17开始,该标准保证在继续下一个
之前,所有的副作用都会得到解决,这实际上是一个令人讨厌的情况对于c++
何时会出现,没有确切的保证。这取决于编译器确定在中执行此操作的顺序。您可能是指++c
。同样,在c++17编译器上,输出将是a、a
、b、b
等。请查看参考资料。这里有点猜测。因此++具有更高的运算符优先级@FrankMerrow这有@Frank.hello,你能解释一下你所说的“c++保证在@john_之后排序”是什么意思吗?你的问题是一个近乎完美的例子,所以我尝试更新答案,以便更好地描述为什么排序现在是固定的。
a,b
b,c
c,d
cout << c << "," << c++ << endl;
a,a
b,a
a,a
b,b
c,c