使用boost::enable_shared_from_this的注意事项
扫描二维码
随时随地手机看文章
[转自]lemonClover的日记
使用boost::enable_shared_from_this的注意事项2011-10-26 16:44:26 1. 如果一个类继承了boost::enable_shared_from_this,那么之后创建这个类的对象的时候,一定要用shared_ptr封装起来。
2. 一定不要在构造函数和析构函数里面调用shared_from_this(),否则会引起十分诡异的错误。
昨天就是因为在析构函数里面调用了另一个函数,而这个函数里面使用了shared_from_this(),导致运行时出现bad_weak_ptr的错误,调试了一个晚上和一个上午才发现。
【原因分析】
为什么不能在构造函数中调用shared_from_this