推 鄉民B:我的Visual C++光碟哪裏去了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.114.86
推 necole236:你可以按 a 搜尋 oohay 就知道了 02/03 21:02
※ 編輯: oohay 來自: 218.160.114.86 (02/03 21:14)
推 izsoak:推樓上XD 02/03 21:03
推 StubbornLin:反過來說 這樣寫應該沒什麼好處吧? 02/03 21:04
→ StubbornLin:還要想第二個z到底是++後的還++前的 02/03 21:05
→ StubbornLin:寫程兩行易讀性大增 一目了然 這麼簡單的程式碼 02/03 21:07
→ StubbornLin:幹麻要寫得那麼難懂 囧 02/03 21:07
推 abcdefghi:coding standard定好,一個statement,只對一個variable做 02/03 21:18
→ abcdefghi:assignment,包括 a = b++; 也一樣禁止就好了. 隨便一個 02/03 21:18
→ abcdefghi:爛compiler最佳化一開,a = b; b++; 這種東西都可以處理. 02/03 21:19
→ oohay:很抱歉, z+++z恰好只對一個變數做assignment 02/03 21:19
→ oohay:所以我才問,除此之外,到底哪裡混淆? 02/03 21:20
→ abcdefghi:就算沒開最佳化,現代的32,16bit cpu執行這類程式,也快到 02/03 21:19
→ abcdefghi:讓你感覺不出來. 好吧,那改成,一個statement只做一次 02/03 21:21
→ abcdefghi:assignment. :) 02/03 21:22
→ oohay:z+++z仍是只做一次assignment而已 02/03 21:23
推 abcdefghi:那就改成"同一statement中,不要讀取被assign值的變數" 02/03 21:28
→ oohay:那 z++ 由於是postfix ++,還沒發生assignment,其實我再加個 02/03 21:35
→ oohay: + z,變成 z++ + z,這樣還是可以 02/03 21:36
→ oohay:coding standard越改越多耶 XD 02/03 21:36
推 cole945:是 a = z++ + z; 會混淆.. 不是 z++ + z; 會混淆.. 02/03 21:51
→ oohay:對啊,我從頭到尾只講z+++z,沒講它指定給什麼東西,一直講混淆 02/04 10:08