作用
共享指针,多个shared_ptr对象可以绑定同一块堆空间。
举例
int main()
{
shared_ptr<int> sp1(new int(11));
shared_ptr<int> sp2 = sp1;
cout << "num=" << sp1.use_count() << endl;
//只是计数器减1,堆区没有释放
sp1.reset();
//cout << "*sp1=" << *sp1 << endl; //err
cout << "*sp2=" << *sp2 << endl;
cout << "num=" << sp1.use_count() << endl;
cout << "num=" << sp2.use_count() << endl;
return 0;
}
输出结果如下:
num=2
*sp2=11
num=0
num=1