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;

}

文章目录