我有一个带std :: function参数的函数。我希望std :: function有一个bool&论点:
void function(std::function<bool(bool&)> lambda);
但是没有强制执行ref约束,我可以:
auto lambda = [](bool canceled) ->bool{};
或
auto lambda = [](bool& canceled) ->bool{};
编译器是MSVC 2010。
ñ。乙
第一个例子为bool使用了const ref,因为bool变量在另一个线程中被更改,我需要跟踪它对ref的值。我不能在lambda中修改它,因此是const。