概要:主要解决上一篇的内存泄露以及复制构造函数问题
//主函数test如下
#include<iostream>
using namespace std;
//#include<memory>
#include"shared_ptr.h"
void main()
{
int *p = new int(10);
shared_ptr<int> ps1(p);
shared_ptr<int> ps2;
ps2 = ps1;//复制拷贝(浅拷贝)
cout<<"use_count = "<<ps1.count()<<endl;}
1.内存泄露
在库函数里shared_ptr中未给出明确的析构函数,则选择在shared_count类中增加析构函数并用基类指针pi_调用release()函数,在基类中实现
//引用计数类shared_ptr
~shared_count()
{if(pi_!=0)
{pi_->release(); }}
//基类sp_shared_base
public: