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

前端之家收集整理的这篇文章主要介绍了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&C++相关文章