为什么是
int main() { int i = 0; ++++i; }
有效的C++但无效的C?
c c++ language-lawyer
在C++中,以下是否有未定义的行为:
int i = 0; (i+=10)+=10;
在我对C和C++中+ =的结果的答案的评论中有一些争论?这里的微妙之处在于默认响应似乎是"是",而正确的答案似乎是"它取决于C++标准的版本".
如果它确实取决于标准的版本,请解释UB的位置和不在的位置.
c++ undefined-behavior language-lawyer c++11 c++03
c++ ×2
language-lawyer ×2
c ×1
c++03 ×1
c++11 ×1
undefined-behavior ×1