c++0x 支持通过引用捕获值的 lambda:
[&] -> ret_t { return 0; }
捕获常量引用有意义吗?
[const &] -> ret_t { return 0; }
从根本上解决手头的问题; 有没有办法检测给定的 lambda 是否作为 std::function<>
传递?没有副作用吗?
最佳答案
你甚至不能保证 std::function
中的内容 是 或不是 lambda。你当然不能保证它没有副作用。
如果你想确保你写的 lambda 函数没有副作用(在可以保证的范围内),唯一的方法就是不捕获任何东西:[]
.
关于c++ - lambda常数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7694784/