一、unique_ptr類
頭文件:#include<memory>
智能指針,是一個模板。創建智能指針時,必須提供指針所指的類型
與shared_ptr的不同之處:
shared_ptr所指向的對象可以有多個其他shared_ptr智能指針
而unique_ptr所指向的對象只能有一個unique_ptr指針,也就是自己。當unique_ptr被銷毀時,它所指向的對象也被銷毀
二、unique_ptr類的初始化
unique_ptr指針需要綁定到一個new返回的指針上,并且不能直接將new的結果用賦值運算符“=”賦值給unique_ptr
unique_ptr<double> p1;//正確
unique_ptr<int> p2(new int(42));//正確
unique_ptr<int> p3 = new int(42);//錯誤
三、unique_ptr之間不存在拷貝與賦值
原因:因為unique_ptr所指向的對象只能有一個unique_ptr指針,也就是一個引用計數。因此unique_ptr不支持普通的拷貝和賦值操作
unique_ptr<string> p1(new string("HelloWorld"));
unique