我正在经历一个我以前在C/C++中没有的问题,我不知道如何解决它。反省。我需要用用户给定的字符串来调用函数或方法。不仅如此,我还需要给函数或方法一些参数,并得到它的结果(如果有的话)。
假设用户输入了printSomething
我需要评估"printSomething"(paramA, paramB)。当然,函数或方法T printSomething()是被定义的。
我怎样才能做到最好?

最佳答案

使用从字符串到指向函数或方法(成员函数)的指针的结构映射。
C++不提供这样的结构;您必须自己构建,传递名称字符串和指针。还需要实现参数和返回值与字符串之间的转换。该语言没有关于如何实现这一点的约定或想法,因此必须指定它。

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

10-11 22:59
查看更多