複製建構函式

2021-09-06 16:33:27 字數 292 閱讀 9022

本來看看return到底做了什麼結果看了這個複製建構函式,複製構造函式呼叫的場合如下:

• 根據另乙個同型別的物件顯式或隱式初始化乙個物件。

• 複製乙個物件,將它作為實參傳給乙個函式。//傳遞實參的副本時會呼叫

• 從函式返回時複製乙個物件。//return返回乙個副本時會呼叫

• 初始化順序容器中的元素。

• 根據元素初始化式列表初始化陣列元素。

看來return乙個物件,如果不是引用的話,會呼叫乙個類的複製建構函式,構造乙個臨時物件,然後返回這個臨時物件

複製建構函式

今天回看了前面的內容,發現這一章掌握的不夠好,就重看了一遍,順便總結一下 無規律總結 複製建構函式用於複製物件,即可以初始化物件,也可以將複製得到的物件作為實參傳遞給函式,多用於初始化。當我們這樣寫 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 編譯器生成臨時物件 一 乙個物件作為函式引數,以值傳遞的方式傳...