还有很多的模板函数称为F1,F2,F3 ......C++如何通过标签
如何分派运行知名INT到不同的模板功能,分派到不同的模板功能?
当然,我可以使用开关来做到这一点,但每次添加更多的模板功能或删除一些模板功能时,我必须一次又一次地修改开关。我怎样才能以更优雅的方式做到这一点?
模板不是真正的函数,所以我不能创建函数指针的std :: map。
template<typename T> std::optional<T> f1(){...}
template<typename T> std::optional<T> f2(){...}
template<typename T> std::optional<T> f3(){...}
template<typename T> std::optional<T> f4(){...}
template<typename T> auto dispatch(int tag){
switch(i){
case 1: return f1<T>();
case 2: return f2<T>();
case 3: return f3<T>();
case 4: return f4<T>();
}// I have to modify these if add or delete some template functions
}
请显示一些代码 – user463035818