用C ++创建lambda的映射

时间:2012-04-24 08:05:46

标签: c++ map c++11 lambda

如何描述lambda地图?我想要一个lambda的地图,它将在事件上被调用(就像一个简单的回调)。 lambda类型是常量。

1 个答案:

答案 0 :(得分:16)

使用<functional>标头和std::function模板类。这允许您使用固定的方法签名指定函数对象。

std::map< unsigned int, std::function<int(int,int)> > callbackMap;

假设您使用unsigned int为回调编制索引,上面的地图会存储两个int并返回int的函数。