C++从包含函数名称的 char * 调用函数

  • 本文关键字:函数 char 调用 包含 C++ c++
  • 更新时间 :
  • 英文 :


我正在为我正在开发的游戏设计一个脚本系统,我正在尝试调用一个函数,例如我知道

#define something(argument) #argument

会将参数转换为字符串,有没有办法以类似的方式将字符串转换为函数?

C 这样做的方法是构建一个字符串和函数指针表。

这通常也在C++中完成,尽管C++其他方法也是可行的:您可以使用 std::map<std::string, /*your function prototypte*/> 甚至 std::map<std::string, std::function> .

尽管如此,传统的多态解决方案可能就足够了。

(你也可以看看Boost Spirit,这是一个基于EBNF语法构建脚本的优秀工具 www.boost.org。相当参与,但学习曲线非常值得。

最新更新