看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《cfbbq (CF)》之銘言: : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 125.224.150.217 : → james732:應該就是不要在同一行裡面對一個變數又改又讀的意思...? 02/04 18:10 : → cfbbq:我知道,但是我覺得沒錯阿,只要不要<<i++ + i;這種就好吧? 02/04 18:13 : → cfbbq:<<i++<<i;這不是一個運算是阿! 02/04 18:14 : 推 ledia:<< 也是運算子呀 02/04 18:27 : 推 LPH66:問題如同前幾篇 i++結算的時間不確定 02/04 18:33 : → LPH66:雖然順序是由左到右 (<<是左結合) 但i++卻不確定會何時結算 02/04 18:33 : 推 StubbornLin:http://0rz.tw/d74Qx 02/04 19:17 : → cfbbq:我的疑問是:cout<<i++<<i;跟cout<<i++;cout<<i;似乎等於? 02/04 19:45 : → akasan:表面上一樣而已cout<<i++;cout<<i;會保證其求值順序 02/04 20:14 : → akasan:cout<<i++<<i;則是無法確定到底是i先求值還是i++先求值 02/04 20:15 其實可以 這邊是特例.. function call之前有sequence point 這邊的cout<<i++<<i等價於cout.operator<<(i++).operator<<(i) 可以保證i++先被evaluate, 而且在eval第二個i之前加一 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.156.17
cfbbq:先謝謝。可以給我不是特例的嗎?<<i++<<i;的特例, 02/04 20:30
cfbbq:非<<i++ + i; 02/04 20:30
Fenikso:就.. a<<i++<<i a是個int 02/04 20:31
legendmtg:有=的運算 02/04 20:31
cfbbq:糟糕 我還是不懂.. 02/04 20:35
cfbbq:新手十誡第九項後半部的錯誤例子有舉錯嗎?我是不懂他例子想 02/04 20:38
cfbbq:表達什麼,不是錯誤跟正確是一樣的嗎? 02/04 20:38
我覺得他的重點是"不管什麼場合都不要這樣寫" 只是剛好舉了一個保證不會錯的例子(汗 ※ 編輯: Fenikso 來自: 122.116.156.17 (02/04 20:39)
cfbbq:哈,你一定覺得我很煩,辛苦你了,3Q! 02/04 20:41
Fenikso:不會啦 有動腦想是好事XD 02/04 20:42