複製建構函式

2022-09-02 14:12:13 字數 486 閱讀 3113

1、直接初始化

string dots(10, '.');               // direct-initialization
呼叫引數為乙個數量和乙個字元的 string 建構函式並直接初始化 dots 的成員。

2、複製初始化

1) string null_book = "9-999-99999-9"; // copy-initialization
編譯器首先呼叫接受乙個 c 風格字串形參的 string 建構函式,建立乙個臨時物件,然後,編譯器使用 string 複製建構函式將 null_book 初始化為那個臨時物件的副本。

2)複製建構函式的特點:
只有單個形參,且形參是對本類型別物件的引用(常用const修飾)(必須為引用)。
3)複製建構函式在下列情況下使用:

複製建構函式

今天回看了前面的內容,發現這一章掌握的不夠好,就重看了一遍,順便總結一下 無規律總結 複製建構函式用於複製物件,即可以初始化物件,也可以將複製得到的物件作為實參傳遞給函式,多用於初始化。當我們這樣寫 string null bulk 9 9 9 9 在建立null bulk時編譯器先呼叫string...

複製建構函式

拷貝建構函式的標準寫法如下 class base base const base b 上述寫法見得最多,甚至你認為理所當然。那麼如果我們不寫成引用傳遞呢,而是值傳遞,那麼會怎樣?class base base const base b 編譯出錯 error c2652 base illegal co...

複製建構函式

呼叫複製建構函式的情形 在c 中,下面三種物件需要呼叫複製建構函式 1 乙個物件作為函式引數,以值傳遞的方式傳入函式體 2 乙個物件作為函式返回值,以值傳遞的方式從函式返回 3 乙個物件用於給另外乙個物件進行初始化 常稱為賦值初始化 4 編譯器生成臨時物件 一 乙個物件作為函式引數,以值傳遞的方式傳...