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

看板C_and_CPP作者 (沒有存在感的人)時間9年前 (2016/11/05 18:56), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串2/2 (看更多)
為了更新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://www.ptt.cc/bbs/C_and_CPP/M.1478343368.A.E55.html

11/05 18:57, , 1F
看了真覺得C++真的該跟C分家,愈管愈多。
11/05 18:57, 1F

11/05 19:11, , 2F
包袱太多了 不如直接改全新的不再支援舊的
11/05 19:11, 2F

11/05 21:04, , 3F
statement會根據新規則,使得求值順序被指定,例如a=a
11/05 21:04, 3F

11/05 21:04, , 4F
++是a++先,然後才是a;a[i++]=++i就是++i,a,i++
11/05 21:04, 4F

11/06 19:20, , 5F
其實C++11就應該要開專版了 整個背後的思維都不太一
11/06 19:20, 5F

11/06 19:20, , 6F
樣了
11/06 19:20, 6F

11/06 19:48, , 7F
版主有興趣可以參考p0145r2。然後C也有這問題
11/06 19:48, 7F

11/06 20:44, , 8F
感謝,C有多限制sequence point嗎?沒看到....
11/06 20:44, 8F
文章代碼(AID): #1O7Rh8vL (C_and_CPP)
文章代碼(AID): #1O7Rh8vL (C_and_CPP)