获取函数指针或使用存储在字符串中的函数名对函数求值
C++ Get a function pointer or eval a function using the functions name stored in a string
我正在研究一个自然语言解析器。来自自然语言的单词被解析为它们所代表的概念。目的是让机器人能够解释用自然语言给出的命令。执行这些命令的一种方法是创建大量的if语句,每个概念至少有一个if语句。我想知道是否有一种方法来检索一个函数指针,其名称存储为字符串的函数。然后,每个概念都可以包含一个字符串,该字符串表示在解析中出现该概念时需要执行的函数。这样,概念就已经知道该怎么做了。
这并不复杂。我将尝试(当然,理论上)实现这些"可能的"解决方案之一:
-
这是非常c++:读取实例化类的名称?并为每种"自然"语言创建一个类,确保这些类派生自一个公共接口,并且每个类都将具有处理特定单词的重写方法。
-
这是更多的C:如果你不怕使用共享库,创建一个共享库,所有的函数为你想要的命令,确保函数名称匹配"words",然后加载你想要使用的特定函数(word)。这比上面的方法更简单,因为你不需要知道所有的单词,而且维护也更少。
欢呼
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何从void函数输出字符串
- 使用用户定义函数的字符串反转
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- 在c++构造函数中使用随机字符串生成器
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- C++:如何使函数只返回作为列表一部分的字符串
- 如何在C++中的同一函数中使用字符串和双精度
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 一个函数,用于查找字符串1包含字符串2 c++的次数
- 对函数 PlaySound 使用字符串变量
- 具有多个模板的模板函数,用于特定数据类型(如字符串)?
- 字符串化递归的"std::vector<std::vector<...>>"而不使用部分模板函数专用化
- Visual c ++,使用字符串引用/指针调用 dll 函数
- 构造函数字符串参数未设置窗口标题
- C++默认构造函数:字符串参数与字符串参数()
- 使用函数C++字符串输入
- c++模板函数字符串类型不匹配