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;
}
}
それとも完全に不要ですか?理由を教えてください。