作者wtchen (没有存在感的人)
看板C_and_CPP
标题Re: [问题] 请问关於a=a++的问题
时间Sat Nov 5 18:56:05 2016
为了更新C++14/C++17对於这方面的更改查了一下:
http://en.cppreference.com/w/cpp/language/eval_order
C++17开始:
f(++i, ++i); // undefined behavior until C++17
f(i = -1, i = -1); // undefined behavior until C++17
cout << i << i++; // undefined behavior until C++17
a[i] = i++; // undefined behavior until C++17
看了一下C++17新增的部份有一大堆,结果例子只有这几个。
有人可以补充的吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 90.41.211.206
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1478343368.A.E55.html
1F:→ wtchen: 看了真觉得C++真的该跟C分家,愈管愈多。 11/05 18:57
2F:→ testPtt: 包袱太多了 不如直接改全新的不再支援旧的 11/05 19:11
3F:→ yesIamking: statement会根据新规则,使得求值顺序被指定,例如a=a 11/05 21:04
4F:→ yesIamking: ++是a++先,然後才是a;a[i++]=++i就是++i,a,i++ 11/05 21:04
5F:推 deangood01: 其实C++11就应该要开专版了 整个背後的思维都不太一 11/06 19:20
6F:→ deangood01: 样了 11/06 19:20
7F:→ Caesar08: 版主有兴趣可以参考p0145r2。然後C也有这问题 11/06 19:48
8F:→ wtchen: 感谢,C有多限制sequence point吗?没看到.... 11/06 20:44