阅读 Wikibook Optimizing C++,在本段中有以下建议:
如果整数值在应用程序代码中是常量,但在库代码中是变量,则将其设为模板参数。
所以如果我有一个像
void myfunction(int param)
{
switch(param)
{
case 1:
do_something_1();
break;
case 2:
do_something_2();
break;
...
case 100: // 100 is taken as example
do_something_100();
break;
}
}
换成下面这样方便吗?
template<int param> void myfunction()
{
switch(param)
{
case 1:
do_something_1();
break;
case 2:
do_something_2();
break;
...
case 100: // 100 is taken as example
do_something_100();
break;
}
}
还是完全没有必要?你能解释一下原因吗?