13.1 拷貝構造函數是一種特殊的構造函數,函數的名稱必須和類名稱一致,它必須的一個參數是本類型的一個引用變量 1. 對象以值傳遞的方式傳入函數參數 2. 對象以值傳遞的方式從函數返回 3. 對象需要通過另外一個對象進行初始化 等
13.2 要使用引用 如果不是引用的話,拷貝構造函數將調用本身,將是無限循環
13.3 拷貝一個StrBlob會使shared_ptr計時器增1 拷貝一個StrBlobPtr并不會怎么樣,weak_ptr 對shared_ptr沒有影響
13.4
Point global;Point foo_bar(Point arg) // 1{ Point local = arg, *heap = new Point(global); // 2, 3 *heap = local; Point pa[ 4 ] = { local, *heap }; // 4, 5 return *heap; // 6}13.5
#include <string>class Hasptr {public: HasPtr(const std::string &s = std::string()) : ps(new std::string(s)), i(0) { } HasPtr(const HasPtr& hp) : ps(new std::string(*hp.ps)), i(hp.i) { }PRivate: std::string *ps; int i;};新聞熱點
疑難解答