c++ - C/C++中通过反射调用函数或方法

标签 c++ c reflection

我正在经历一个以前在 C/C++ 中没有遇到过的问题,而且我不知道如何解决它。反射。我需要通过用户提供的字符串 调用函数或方法。不仅如此,我还需要为函数或方法提供一些参数并获取其结果(如果有)。

假设用户输入了 printSomething

我需要评估 "printSomething"(paramA, paramB)。当然,定义了函数或方法T printSomething()

最好的方法是什么?

最佳答案

使用从字符串到指向函数或方法(成员函数)的指针的结构映射。

C++ 不提供这样的结构;您必须自己构建它,传递名称字符串和指针。还需要实现参数和返回值与字符串的转换。该语言没有关于如何完成此操作的约定或想法,因此您必须指定它。

关于c++ - C/C++中通过反射调用函数或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14514194/

相关文章:

c++ - 使用 sscanf 读取格式化字符串数据

c++ new inplace under win32 API (visual studio 2010 express)

c - 释放结构中的数组

c - 跟踪未初始化的静态变量

c - 查找多个区域的重叠范围

使用反射使用任何构造函数实例化任何类的 Java 泛型方法

c++ - 包含字符串和整数的文件输入

c++ - 多个类型名的部分模板特化

java - 如何使用java反射迭代List类型的字段

java - 运行字符串中包含的代码段