我有一個問題,關於是否在一個函數中使用'case'或'ifs'被調用了很多。 下面是'ifs'中現在的情況。代碼是不言自明的:代碼優化;開關與if的
int identifyMsg(char* textbuff) {
if (!strcmp(textbuff,"text")) {
return 1;
}
if (!strcmp(textbuff,"name")) {
return 2;
}
if (!strcmp(textbuff,"list")) {
return 3;
}
if (!strcmp(textbuff,"remv")) {
return 4;
}
if (!strcmp(textbuff,"ipad")) {
return 5;
}
if (!strcmp(textbuff,"iprm")) {
return 6;
}
return 0;
}
我的問題是:交換機的性能會更好嗎?我知道如果使用'ifs',我可以將最有可能的選項放在頂部。
看到這個:http://stackoverflow.com/questions/97987/switch-vs-if-else – Nawaz 2011-01-30 12:53:26
你應該把精力集中在你的代碼正確的,你不用擔心微觀優化前。一旦這是正確的,你應該優化之前進行測量。然後當你認爲你需要優化時,你應該考慮優化代碼的未來可維護性。簡而言之,優化代碼是不正確的。 – 2011-01-30 12:57:56