C primer學習 拷貝控制 3

2021-07-05 23:29:11 字數 985 閱讀 6131

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承諾。標準庫容器能對異常發生時其自...