如果我有一些像這樣的代碼:避免的if-else與模板函數聲明
void function_1(...)
{
//do something
}
void function_2(...)
{
//do something
}
int function_3(...)
{
//do something
}
int main()
{
....
if (CONSTANT_1) function_1()
else if (CONSTANT_2) function_2()
else if (CONSTANT_3) function_3()
....
}
我想避免的if-else語句和這樣做的主要功能:
int main()
{
function<CONSTANT>();
}
如何避免使用if-else語句並模擬此行爲?
您是否需要使用模板?如果沒有,你可以使用常量和函數指針的映射。然後調用你從map得到的函數給定的常量。 – uptoNoGood