我正在经历一个以前在 C/C++ 中没有遇到过的问题,而且我不知道如何解决它。反射。我需要通过用户提供的字符串 调用函数或方法。不仅如此,我还需要为函数或方法提供一些参数并获取其结果(如果有)。
假设用户输入了 printSomething
。
我需要评估 "printSomething"(paramA, paramB)
。当然,定义了函数或方法T printSomething()
。
最好的方法是什么?
最佳答案
使用从字符串到指向函数或方法(成员函数)的指针的结构映射。
C++ 不提供这样的结构;您必须自己构建它,传递名称字符串和指针。还需要实现参数和返回值与字符串的转换。该语言没有关于如何完成此操作的约定或想法,因此您必须指定它。
关于c++ - C/C++中通过反射调用函数或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14514194/