假设我有 10 个模板化函数,例如:
command1<T>(const std::string&)
command10<T>(const std::string&, int timeInSeconds)
在我的代码中的某个时间点,我将确定我希望执行一个特定的命令。然后,我将请求有关与此命令关联的类型的信息(在运行时),这些信息通过枚举返回给我。所以我确定我希望执行command2
并且枚举包含STRING
. 因此,我想致电:
command2<std::string>(id, param1, param2);
您会推荐什么作为进行此映射的好方法?
枚举可以包含 INT、BOOL;双精度或字符串。传递给特定命令的参数不依赖于枚举的值。
例子:
这是一个更好地解释的例子:
假设我的程序从命令行接收“command4 a”。我解析这个输入并确定我需要调用 command4。然后我查找与“a”关联的类型,在本例中为 get INT
。我现在需要打电话command4<int>("a");