sumos 2013年09月13日
求高手解答:C++必经之路 之不确定指针
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,弱指针。我知道这个可以解决这个问题,但是如何解决,尝试多次还是没有办法,特此请教高手?
...全文
970 点赞 收藏 67
写回复
67 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告