C 拾遺(六) 複製控制

2022-08-11 23:51:26 字數 778 閱讀 7939

年前忙了幾天,到現在才算是有空休息下來。先祝大家新年快樂,心想事成:)我也會發笑臉o.o

這篇博文主要介紹定義乙個型別的物件時的複製控制方式,這部分內容之前有一定的了解但又淺嘗輒止,始終感覺沒能找到要點。年前又拿起書細細品讀,算是有了一點新的了解。幾天前就想動筆了,一直沒時間,拖到現在。

每種型別定義了建立該型別的物件時會發生什麼——建構函式定義了該類型別物件的初始化。型別還能控制複製、賦值或撤銷該型別的物件時會發生什麼——類通過特殊的成員函式:複製建構函式、賦值操作符和析構函式來控制這些行為。

複製建構函式是一種特殊建構函式,具有單個形參,該形參(常用 const 修飾)是對該類型別的引用。當定義乙個新物件並用乙個同型別的物件對它進行初始化時,將顯式使用複製建構函式。當將該型別的物件傳遞給函式或函式返回該型別的物件時,將隱式使用複製建構函式。賦值操作符可以通過指定不同型別的右運算元而過載。右運算元為類型別的版本比較特殊:如果我們沒有編寫這種版本,編譯器將為我們合成乙個。析構函式是建構函式的互補:當物件超出作用域或動態分配的物件被刪除時,將自動應用析構函式。析構函式可用於釋放物件時構造或在物件的生命期中所獲取的資源。不管類是否定義了自己的析構函式,編譯器都自動執行類中非static 資料成員的析構函式。複製建構函式、賦值操作符和析構函式總稱為複製控制。編譯器自動實現這些操作,但類也可以定義自己的版本。

複製建構函式

賦值操作符

析構函式

管理指標成員

最後再祝大家新年快樂!

mongodb複製集 拾遺

1,主節點將所有的寫操作記錄到oplog中,不記錄讀操作,從節點根據oplog複製主節點資料 3,副本集預設非同步複製,主從資料備份存在延遲,讀寫都在主節點 可以設定 4,大多數原則 能否選舉出主節點的前提是集群存貨節點小於等於二分之一集群節點是,集群不可用,不可寫,只能讀,也就是沒法選舉了,主節點...

C語言拾遺

main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...

C 點滴拾遺

1.成員變數的初始化順序,與建構函式中初始化列表的順序無關,與成員變數申明的順序一致 多繼承中,基類的構造順序,與派生類的建構函式初始化列表中基類的構造順序無關,與定義派生類時基類的申明順序有關 2.友元關係不能繼承。3.指標和typedef typedef int pint int i 1 con...