繁体   English   中英

是a = 0; b =(a ++,a + 1); 未定义的行为(UB)?

[英]Is a = 0; b = (a++, a + 1) ; undefined behavior (UB)?

看简单的例子:

int a = 0;
int b = (a ++  ,  a + 1); // result of b is UB or well defined ?  (c++03).

这在c ++ 11 / c ++ 14中有所改变吗?

结果很明确,自C ++ 98以来。 逗号运营商引入的序列点(或在以后的C ++民族关系是“之前测序”)的写入和第二读之间a和我没有看到对不确定的行为的任何其他可能的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM