Re: [問題] 請問關於a=a++的問題

作者: wtchen (沒有存在感的人)   2016-11-05 18:56:05
為了更新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新增的部份有一大堆,結果例子只有這幾個。
有人可以補充的嗎?
作者: wtchen (沒有存在感的人)   2016-11-05 18:57:00
看了真覺得C++真的該跟C分家,愈管愈多。
作者: testPtt (測試)   2016-11-05 19:11:00
包袱太多了 不如直接改全新的不再支援舊的
作者: yesIamking (hello)   2016-11-05 21:04:00
statement會根據新規則,使得求值順序被指定,例如a=a++是a++先,然後才是a;a[i++]=++i就是++i,a,i++
作者: deangood01 (跨斯歐鵝)   2016-11-06 19:20:00
其實C++11就應該要開專版了 整個背後的思維都不太一樣了
作者: Caesar08 (Caesar)   2016-11-06 19:48:00
版主有興趣可以參考p0145r2。然後C也有這問題
作者: wtchen (沒有存在感的人)   2016-11-06 20:44:00
感謝,C有多限制sequence point嗎?沒看到....

Links booklink

Contact Us: admin [ a t ] ucptt.com