#include<iostream>
#include <string>
#include <map>
using namespace std;
int add(int i,int j){ return i+j; }
int sub(int i,int j){ return i-j; }
typedef int (*FnPtr)(int,int);
int main()
{
map<string,FnPtr> myMap;
myMap["add"] = add;
myMap["sub"] = sub;
std::string s("add");
int res=myMap[s](1,2);
cout<<res<<endl;
return 0;
}
上述的代码中就是通过“add”、“sub”字符串调用add和sub函数。