我有一个这样命名的函数列表,void F1()
, void F2()
.....
我要求用户输入一个数字,它会调用相应的函数。
因此,如果他们输入 5
,它将调用 F5()
。
我想知道是否有一种方法可以通过将用户输入附加到函数调用来实现这一点,而不是使用一个非常长的 switch 语句。 类似于下面的代码
std::cout << "Please enter the number of the function you wish to call " << std::endl;
std::cin >> choice;
functionToCall = "F" + choice;
最佳答案
没有。 C++ 没有这种反射。
您始终可以创建一个将字符串映射到函数指针的结构,但您必须自己初始化该结构。
关于c++ - 有没有办法在C++中通过名称动态调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58357167/