c – (i)未定义的行为?

是(i)未定义的行为?在检索增量对象以进行后缀增量操作后,是否可能发生前缀增量的副作用?这对我来说似乎很奇怪.

我的直觉表明,这在C 03中是未定义的,在C 11中有明确的定义.我是对的吗?

解决方法

My gut feeling says this is undefined in C++03 and well-defined in C++0x.

是的,你是对的.在C 03中行为未定义,因为您尝试在两个序列点之间多次修改i.

行为在C 0x中定义良好,因为(i)等价于(i = 1). =运算符的副作用相对于(后增量)排序,因此行为定义明确.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...