3
有人可以向我解釋爲什麼以下不起作用(test
是blub
裏面的const
)。由於test
被我假設的值複製,所以我可以設置它,因爲它是仿函數本地的。在lambda中沒有按值分配拷貝
#include <memory>
int main()
{
std::shared_ptr<bool> test;
auto blub = [test]() {
test = std::make_shared<bool>(false);
};
return 0;
}
爲了使這一工作,首先我要介紹一個新shared_ptr
,分配test
然後我可以正常指定其他shared_ptr
。 順便說一句:我正在使用鏗3.1
因此,通過'const'你的意思是所有捕獲的值是const的 - 或僅值的副本? – abergmeier
就像用手寫的函數對象一樣,只有那些被值捕獲的函數。捕獲是lambda的成員,並且運算符聲明爲Result result()()const;' –