strblob(const strblob & rhs)//拷貝初始化
strblob& operator= (const strblob& rhs)
[練習]定義乙個使用引用計數的hasptr類class
hasptr
//在拷貝建構函式中定義三個成員,並且初始化引用計數為1
hasptr(const hasptr & h) : ps(h.ps), i(h.i), use(h.use) //拷貝建構函式
~hasptr();//析構函式
hasptr & operator= (const hasptr &); //拷貝賦值運算符號
private:
string *ps;
size_t *use;//zhi
int i;
};hasptr::~hasptr()
}hasptr & hasptr:: operator= (const hasptr &h) //拷貝賦值運算符號
ps = h.ps;
i = h.i;
use = h.use;
return *this;
}
class treenode
treenode(const treenode &r) : left(new treenode(*r.left)), right(new treenode(*r.right)), value(r.value)
, count(r.count){}
treenode& operator= (const treenode & r)
~treenode()
private:
string value;
int count;
treenode *left;
treenode *right;
};
C primer學習 拷貝控制 1
1 我們使用 定義變數 2 從乙個返回型別為非引用的函式返回物件 3 用花括號列表初始化乙個陣列中的元素或者乙個聚合類的成員.4 某些類型別對它們所分配的物件使用拷貝初始化.point global point foo bar point arg 第1處 第4,5初 return heap 第6處 ...
C Primer學習筆記 13 拷貝控制
題記 本系列學習筆記 c primer學習筆記 主要目的是討論一些容易被大家忽略或者容易形成錯誤認識的內容。只適合於有了一定的c 基礎的讀者 至少學完一本c 教程 如果文中有錯誤或遺漏之處,敬請指出,謝謝!c 類中有四個不可或缺的部分,那就是建構函式 拷貝建構函式 賦值操作符和析構函式。如果類中沒有...
c primer要點 拷貝控制
1.default 顯式要求編譯器生成合成版本 delete 定義為刪除的函式阻止拷貝。2.右值引用只能繫結到將要銷毀的物件 std move 獲得繫結到左值上的右值引用 移動建構函式的第乙個引數應該是該型別的右值引用,移動操作不應丟擲異常,可以指明noexcept承諾。標準庫容器能對異常發生時其自...