看板 C_and_CPP 關於我們 聯絡資訊
 switch 會讓 source code 膨脹很多這問題,是我一直不太喜歡用 switch 的原因,尤其在看過不少濫用 switch 的程式碼之後,更 讓我對 switch 的使用感到反感(可讀性真的很差..不過這應該是  寫code的人的問題?)。  不過沒想到用 switch 在 complier 端會有做最佳化的動作?  如果是這樣的話,那用 switch 就有足夠的理由了~:)  然後..就像 flamo 跟 unfun 大的說法,使用 switch 可以用縮行  的方式,讓程式碼看起來少一點,我想我會使用看看,這應該可以  解決我討厭程式碼很大包的問題,不過不知道會不會被夢中的主管  唸,哈~:P 感謝各位大大的說明,讓我又多瞭解了一些東西~:)  PS. (1)原來C++ 裡有 mapping 這個東西可以使用,我一直以為那是     LP mud 特有的產物..^^|| (2)在夢中我們真的有討論到 hash table 的東西,不過想想大     家都覺得有點蠢,因為只有十種不同的輸入數值而已..XDDDD   (3)順便回答一下p大的疑問,輸入的數值只有十種(上篇文中有 說明),所以用 if/else的程式絕對比 switch 少很多。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.216.6 ※ 編輯: shadown 來自: 219.85.216.6 (05/15 16:49)
tinlans:C++ 的 map 跟 LPC 的 mapping 彈性還是有差,LPC 的 05/15 19:02
tinlans:key/value 都是 mixed,C++ 的 map 在編譯期就定死了。 05/15 19:03
tinlans:另外,LPC 的 mapping 其實概念來源是 Perl。 05/15 19:04
Splash5:switch小的時候效率跟ifelse差不多 但是數十個數百個的 05/16 18:22
Splash5:case的狀況下 switch case會被作成一個mapping table 05/16 18:23
Splash5:這時候基本上都是用jmp直接跳到要跑的statement上面.. 05/16 18:23