相关疑难解决方法(0)

未定义的行为和序列点

什么是"序列点"?

未定义的行为和序列点之间的关系是什么?

我经常使用有趣和复杂的表达方式a[++i] = i;,让自己感觉更好.我为什么要停止使用它们?

如果您已阅读此内容,请务必访问后续问题重新加载未定义的行为和序列点.

(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)

c++ c++-faq undefined-behavior sequence-points

970
推荐指数
4
解决办法
10万
查看次数

508
推荐指数
8
解决办法
5万
查看次数

C++标准中未定义行为段落中的[Note]是什么意思?

正如用户Tony 指出的那样,在C++标准的1.3.12节中有一个[Note]

允许的未定义行为包括完全忽略不可预测的结果,在翻译或程序执行过程中以环境特征的文档化方式表现......

这与UB的定义是否相矛盾......这个国际标准没有要求吗?我的意思是他们说"没有要求",然后说"允许的UB" - 就在同一段中.

该笔记应如何解释?它确实以任何方式限制UB吗?

c++ standards iso undefined-behavior language-lawyer

1
推荐指数
2
解决办法
358
查看次数