在lambda中移动捕获如何通过C ++ 11 lambda中的move(也称为右值引用)捕获?我想写这样的东西:std::unique_ptr<int> myPointer(new int);std::function<void(void)> example = [std::move(myPointer)]{
*myPointer = 4;};
3 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
您还可以使用std::bind
捕获unique_ptr
:
std::function<void()> f = std::bind( [] (std::unique_ptr<int>& p) { *p=4; }, std::move(myPointer) );
- 3 回答
- 0 关注
- 748 浏览
添加回答
举报
0/150
提交
取消