C++Boost庫學習之智慧指標 shared_ptr
阿新 • • 發佈:2018-12-09
目錄
1.共享指標shared_ptr ^
使用例子 ^
#include<boost/shared_ptr.hpp>
using namespace boost;
using std::cout;
using std::endl;
struct A
{
int a = 10;
};
int main()
{
A *p = new A;
shared_ptr<A> ptr(new A(*p));
shared_ptr<A> ptr1(ptr);
cout << ptr1.owner_before(ptr) << endl;
cout << "共享指標的數量:" << ptr.use_count() << endl;
cout << "通過指標訪問成員:" << ptr.get()->a << endl;
cout << "是否是單個:" << ptr.unique() << endl;
//相當於祈構函式dellete所有共享指標
ptr.reset();
shared_ptr<A> ptr2(new A(*p));
cout << "共享指標的數量:" << ptr2.use_count() << endl;
cout << "通過指標訪問成員:" << ptr2.get()->a << endl;
cout << "是否是單個:" << ptr2.unique() << endl;
}