求高手解答:C++必经之路 之不确定指针

sumos sumos 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
class Hello
{
public:
void run(int c)
{ do_sth(c); }
};

Hello* h = new Hello;
Task* t = Bind(h, &Hello::run); 将类指针及类成员函数封装到一个Task类中
thread->PostTask(t); 将Task投递到线程

问题在:投递线程之后,如果h被delete了,此时线程去执行t的时候就会出错,因为h被删除了。
我的期望:在执行t的时候,先检查h是否还存在,不存在则丢弃该Task。

c++中有一个weak_ptr,弱指针。我知道这个可以解决这个问题,但是如何解决,尝试多次还是没有办法,特此请教高手?
...全文

相关推荐

评论 67
收藏 已收藏
分享
返回顶部
sumos
C++ 语言 65,214 成员 250,514 内容