我有一个带有 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。