async_wait传参数绑定事件调用回调函数及C++指针的黑暗面(C++服务器开发相关)

async_wait传参数调用回调函数通过bind方式绑定,可以用lambda表达式代替
本来调用一次print就会失效,可以通过expires_at定义下一次的失效时间来多次执行print
需要占一位参数error_code是系统参数
async_wait形参只有一个所以需要bind绑定函数和函数参数
在这里插入图片描述
以lambda方式效率更高:
在这里插入图片描述
回调绑定的参数生命周期一定要足够长保证在run能够运行
如以下情况run会调用智能指针的野指针因为已经超过出了智能指针的生命周期,但不一定会出错这也是C++黑暗的一面,尽管指针已经成为了野指针但依然保留了new时的结构
在这里插入图片描述
在这里插入图片描述
用vector容器打印可发现内容已经是错误的
在这里插入图片描述
在这里插入图片描述

发布了130 篇原创文章 · 获赞 33 · 访问量 1365

猜你喜欢

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