我有一个问题,关于是否在一个函数中使用'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