boost::share_ptr的缺陷
来源:互联网 发布:大数据分析典型案例 编辑:程序博客网 时间:2024/05/29 18:42
share_ptr存在巨大缺陷
CObject* pobject = new CObject();
share_ptr<CObject> p1 = pobject; or share_ptr<CObject> p1(pobject);
share_ptr<CObject> p2 = pobject; or share_ptr<CObject> p2(pobject);
这样子的话计数就会错误,哈哈哈
CObject* pobject = new CObject();
share_ptr<CObject> p1 = pobject; or share_ptr<CObject> p1(pobject);
share_ptr<CObject> p2 = pobject; or share_ptr<CObject> p2(pobject);
这样子的话计数就会错误,哈哈哈
谁叫他把计数放到指针类里
且看share_ptr的构造函数:
template<class Y> explicit shared_ptr( Y * p ): px( p ), pn() // Y must be complete { boost::detail::sp_pointer_construct( this, p, pn ); }
template<class Y> shared_ptr & operator=( std::auto_ptr<Y> & r ) { this_type( r ).swap( *this ); return *this; }看到没,pn(引用计数)每次都是重新new的,计数就错了(pn是个很复杂的东西,归根结底它用来计数)
具体没有测试过。。。
- boost::share_ptr的缺陷
- boost::share_ptr用法
- boost::share_ptr学习笔记
- c++ boost 库中提供的share_ptr(智能指针)
- c++ boost 库中提供的share_ptr(智能指针)
- share_ptr的一点片段
- share_ptr的问题
- share_ptr的正确使用方法
- share_ptr 的 知识梳理
- 自己写的share_ptr
- boost::share_ptr智能指针使用示例
- boost::share_ptr智能指针使用示例
- 20110614使用boost使用流水记share_ptr
- boost::share_ptr智能指针使用示例
- boost::share_ptr智能指针使用示例
- share_ptr
- share_ptr
- Share_ptr
- Android 实现按两次返回键退出程序
- php和NodeJs共存的开发环境
- chroot
- linux文件或目录权限修改后如何恢复(备份了权限就能恢复)
- 第十一周上机任务项目3
- boost::share_ptr的缺陷
- Android 4.3 蓝牙新特性
- 继承初体验
- EnumDisplayMonitors—多屏显示的实现
- 修改CPU INFO
- 三分搜索
- 第九周上机任务(二)
- CString使用大全
- 视图和安全性检测