有没有办法在c++中通过名称动态调用函数

Mic*_*ell 1 c++ function c++14

我有一个名为 so, 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;
Run Code Online (Sandbox Code Playgroud)

Mat*_*fek 5

不。\nC++ 没有\xe2\x80\x99 没有这种反射。

\n\n

您始终可以创建一个将字符串映射到函数指针的结构,但您必须自己初始化该结构。

\n