求高手解答: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,弱指针。我知道这个可以解决这个问题,但是如何解决,尝试多次还是没有办法,特此请教高手?
{
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,弱指针。我知道这个可以解决这个问题,但是如何解决,尝试多次还是没有办法,特此请教高手?
...全文
相关推荐
cpp_primer5_solution:我对“C++ Primer 5th”一书的解答
我对 C++ Primer 5 的解决方案
C++课后习题答案详解与实战解析(谭浩强经典教材配套)
在C++中,变量必须先声明后使用。声明变量的基本语法如下:数据类型 变量名;例如:int age;// 整型变量// 双精度浮点型变量char grade;// 字符型变量// 布尔型变量指针是C++中访问内存地址的核心机制。理解指针的本质,是掌握C++内存模型与程序优化能力的基础。类是面向对象编程的基本构建单元,用于描述具有相同属性和行为的对象的模板。对象则是类的具体实例,每个对象都拥有自己的状态和行为。C++中使用class关键字来定义类。
新标准C++习题解答
新标准C++习题解答,为北京大学郭炜老师所编写的课后习题答案
C++程序设计教程习题解答
钱能的C++程序设计教程习题解答,包含教材实例及课程习题
c++程序设计习题解答 谭浩强版
谭浩强先生两本著作《C++程序设计》与《C++面向对象程序》的课后习题答案


