推 steve1012: 感覺不是效能瓶頸 lol 10/17 10:25
推 Feis: 關鍵應該是 i 的值是否具備某些特性可以利用,根本問題是 p 10/17 10:28
→ Feis: 值可變有沒好處 10/17 10:28
→ diabloevagto: 程式寫給人看的,只要你在使用時可以讓其他人看懂 10/17 10:42
→ diabloevagto: 你用的是指標還是陣列就好,我會習慣用 () 10/17 10:42
補充一下。因為最近練習自製 list ,於是出現了這種東西:
a->b->c->d[i] 比較:
*(a->b->c->d + i)
我知道這只是習慣問題,但還是想知道大家是如何用的。
像上面這種一長串的,如果是習慣用 *() 的人會改用 [] 嗎?
還是堅持一致語法而用 *() 呢?
推 loveflames: 不要故意寫成i[p]就好 10/17 11:13
※ 編輯: sppmg (36.231.178.18), 10/17/2017 11:24:34
→ diabloevagto: 我會用 *() 10/17 13:15
推 Killercat: 除了map用不用operator[]有點差異以外 其他都是爽就好 10/17 14:01
推 steve1012: 沒差吧 別鑽牛角尖了 10/17 14:27
→ kingofsdtw: 程式除了能動,可讀性也要顧慮到 10/17 18:20
→ kingofsdtw: github專案都會避免一些特殊語法,效能說真的差異不大 10/17 18:22
→ kingofsdtw: 相對於網路延遲,mem copy的時間小到可以忽略 10/17 18:23
→ kingofsdtw: 除非你是寫driver 10/17 18:24
推 kingofsdtw: 我會推薦 a->b->c->d[i] 一眼就知道在幹麻 10/17 18:28
推 longlongint: 選我 *(p++) 10/17 19:24
看來考慮當下的可讀性比較重要。
謝謝各位的解答。
※ 編輯: sppmg (36.231.178.18), 10/18/2017 11:20:11