共享数组 共享数组的行为类型于共享指针。关键不同在于共享数组在析构时,默认使用delete[]操作符来释放所含的对象。因为这个操作符只能用于数组对象,共享数组必须通过动态分配的数组的地址来初始化。共享数组对应的类型是boost::shared_array,它的定义在boost/shared_arra ...
分类:
其他好文 时间:
2016-08-13 21:09:29
阅读次数:
185
1、上次写的删除器有些问题:template<classP,classD>
classsp_counted_impl_pd:publicsp_counted_base{
public:
sp_counted_impl_pd(Pp,Dd):ptr(p),del(d){}
public:
voiddispose(){
del(ptr);//就是这里,将对象用作函数!!!
}
private:
Pptr;
Ddel;
};del(ptr)->..
分类:
其他好文 时间:
2016-07-31 16:12:51
阅读次数:
167
我们知道c++标准库中定义了智能指针auto_ptr,但是我们很少用它,因为虽然它能够自动回收动态开辟的内存,不需要程序员自己去维护动态开辟的内存,但是当用它去赋值或者是拷贝构造时有一个管理权转移的过程,这样我们就不能很方便的使用auto_ptr。下面是简单的auto_ptr的实现,..
分类:
编程语言 时间:
2016-03-30 18:04:49
阅读次数:
245
boost.smart_ptr库提供了六种智能指针:scoped_ptr、scoped_array、shared_ptr、shared_array、week_ptr和intrusive_ptr。
说到智能指针,我们会想到c++98标准中的自动指针auto_ptr.auto_ptr获取指针所有权后,离开作用域时自动释放该指针指向的堆内存。也可以转移指针的所有权。
auto_ptr ap_a1(new...
分类:
其他好文 时间:
2015-01-30 21:08:29
阅读次数:
364
#include?<iostream>
#include?<tr1/memory>
#include?<boost/scoped_ptr.hpp>?//scoped_ptr还不属于tr1
#include?<boost/scoped_array.hpp>?//scored_array也不属于tr1
#include?<boost/shared_array.hpp...
分类:
其他好文 时间:
2014-10-15 01:58:09
阅读次数:
469
std::auto_ptr 析构的时候调用 delete
操作符来自动释放所包含的对象boost::scoped_ptr / boost::scoped_array不能传递它所包含的对象的所有权
到另一个作用域指针boost::shared_ptr /boost::shared_array在内部记录...
分类:
其他好文 时间:
2014-05-15 02:01:07
阅读次数:
353