用lambda+智能指针方式作为async_wait回调参数来延长参数生命周期及lambda本质(C++asio网络库相关)

lambda函数本质:
遵循了类的特征,生命周期和类是一样的
如果有参数传入好比类的成员变量
传入引用就是引用本身的生命周期
在这里插入图片描述
不用绑定原生指针
在这里插入图片描述
可以通过在lambda绑定智能指针来延长生命周期
在这里插入图片描述
在这里插入图片描述
但有的时候并不希望事件回调参数有如此长的生命周期希望外部来控制
还有一个弊端也改变了外部函数接口,上面例子必须要传入智能指针。。
智能指针有传染性,一个地方要用智能指针,很多地方都被迫用智能指针

发布了137 篇原创文章 · 获赞 33 · 访问量 1578

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/104061758