And*_*rus 0 c++ stdmap map c++11 std-function
我想要一个映射将字符串键映射到a std::function<T()>或std::function<T(int)>(但不是两个都给定键)的映射.我得到一个编译错误,似乎没有模板std::function<T(...)>.我希望能够使用lambdas作为值.
首先,以这种方式存储功能是否安全?其次,如果是这样,语法是什么?(当从地图中检索到函数时,函数是一元函数还是无效函数.)如果不是上述函数,那么什么是合理的替代方案?指针杀死了lambda的想法,对...
C++ 11没问题.
另一种方法是将nullary函数包装在一个包装器lambda中,该包含一个参数,不对它做任何操作,只是调用包装函数.然后地图中的所有内容都是一元函数.
当然,如果你在检索时知道这个函数是什么类型的(我猜你必须这样做,否则它没用!),那么为什么不使用两个地图呢?
| 归档时间: |
|
| 查看次数: |
1657 次 |
| 最近记录: |