【发布时间】:2011-10-08 04:12:24
【问题描述】:
c++0x 支持通过引用捕获值的 lambda:
[&] -> ret_t { return 0; }
捕获 const 引用有意义吗?
[const &] -> ret_t { return 0; }
更根本的是手头的问题; 有没有办法检测作为 std::function<> 传递的给定 lambda 是否没有副作用?
【问题讨论】:
-
“捕获 const 引用有意义吗?” -- 不多。捕获的值不像参数,函数确切地知道它正在获取什么对象,即它们不是可变的。并且用 & 捕获 const 对象没有问题,它们仍然是 const。
标签: c++ functional-programming constants c++11