为了账号安全,请及时绑定邮箱和手机立即绑定

在lambda中移动捕获

在lambda中移动捕获

C++
Smart猫小萌 2019-08-16 16:54:42
在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条经验 获得超15个赞

您还可以使用std::bind捕获unique_ptr

std::function<void()> f = std::bind(
                              [] (std::unique_ptr<int>& p) { *p=4; },
                              std::move(myPointer)
                          );


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 715 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信