看板 C_and_CPP 關於我們 聯絡資訊
const int axb = a * b; 判斷式裡面機率高的放前面 if(axb == 1 || axb == 5) { ... } 我覺得這樣是最好的寫法, 容易維護,可讀性高,沒有什麼缺點 如果 axb 不能宣告成 const 有時候會用 1 == axb 來避免少打等號,不過有些場合這已屬少見的用法了 (因為許多人會開編譯器警告來提醒) 但 如果 axb 是某些值的機率很高但是判斷式很複雜(或者牽涉到耗時動作如IO)時 可以考慮用類似以下寫法 switch(const int axb = a * b) { default: if(複雜的判斷式) { case 某一個機率很高的數: ... } else if(也很複雜的判斷式) { case 另外機率很高的數: ... } else { case 大概是第三個機率很高的數 ... case 機率很高但啥也不想做的數記得加分號當空的句子: ; } } switch 就是多重 goto 分支少建表來跳可能不划算 最後,絕不要在 C++ code 裡面寫中文,不然許功蓋老師和他的同事會衝出來罵我們 ※ 編輯: applecool 來自: 123.110.214.94 (05/18 09:50)
uranusjr:這年頭大家都存 UTF-8 了 05/18 14:19
azureblaze:就我所知msvc預設還是存ascii 05/18 15:35
dendrobium:這種變數名稱其實很不好, 因為算式改了變數名也得改 05/18 21:04
masan22305:許功蓋XD 05/18 22:23
cuteclare:註解不能中文嗎? 05/19 13:38
applecool:應該說只能英文, 因為CODE可能被別人存成任何格式 05/19 15:51
AntaresStar:格式存錯就不能編譯 很合理啊 XD 05/19 16:53
applecool:格式存錯還是可能通過編譯得到非預期的結果 05/19 18:10