C++ 关于map,function的简单应用
参考博客:https://www.cnblogs.com/daibigmonster/p/7840921.html
#include <functional>
#include <iostream>
#include <map>
using namespace std;
// void test()
// {
// map<string,function<int(int, int)>> funs =
// {
// {"+", add},
// {"-", std::minus<int>()},//标准库的函数,参数为两个整数,可以参考前一篇博客
// {"/", divide()},//类成员函数
// {"*", [](int i,int j){return i*j;}},//lambda表达式
// {"%", mod},
// };
// funs["+"](4,6);
// }
int main()
{
string s = "123";
map<string, std::function<void()>> fm;
fm["a"] = [&s](){s+="a";};
fm["b"] = [&s](){s+="b";};
fm["c"] = [&s](){s+="c";};
fm["d"] = [&s](){s+="d";};
fm["a"]();
fm["c"]();
cout<<s<<endl;
return 0;
}