看简单的例子:
int a = 0;
int b = (a ++ , a + 1); // result of b is UB or well defined ? (c++03).
这在 c++11/c++14 中有所改变?
最佳答案
结果定义明确,从 C++98 开始。逗号运算符在 a
的写入和第二次读取之间引入了一个序列点(或后来的 C++ 中的“排序前”关系),我看不出有任何其他潜在原因未定义的行为。
关于c++ - a = 0; b = (a++, a + 1) ;未定义的行为(UB)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21327323/