国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

拷貝構(gòu)造函數(shù)有參數(shù)嗎 為什么復(fù)制構(gòu)造函數(shù)的形參必須是一個引用?

為什么復(fù)制構(gòu)造函數(shù)的形參必須是一個引用?使用引用參數(shù)復(fù)制構(gòu)造函數(shù)的一個重要原因是避免遞歸調(diào)用!從語言規(guī)范的角度來看,這只是一種規(guī)則。例如&B=a表示B是對a的引用。從邏輯角度看,參數(shù)的傳遞本身就

為什么復(fù)制構(gòu)造函數(shù)的形參必須是一個引用?

使用引用參數(shù)復(fù)制構(gòu)造函數(shù)的一個重要原因是避免遞歸調(diào)用!從語言規(guī)范的角度來看,這只是一種規(guī)則。例如&B=a表示B是對a的引用。從邏輯角度看,參數(shù)的傳遞本身就是一個副本。如果不使用引用類型,則當(dāng)復(fù)制構(gòu)造函數(shù)傳遞參數(shù)時將調(diào)用復(fù)制構(gòu)造函數(shù),從而導(dǎo)致遞歸調(diào)用。因此,它是通過引用類型傳遞的。

為什么復(fù)制構(gòu)造函數(shù)的形參必須是一個引用?

復(fù)制構(gòu)造函數(shù)實際上是一個函數(shù)。如果將參數(shù)定義為類型而不是類型引用,它將首先調(diào)用該類型的復(fù)制構(gòu)造函數(shù)并重構(gòu)一個新實例,就像下面的示例類MyClass一樣。這是一個簡單的類{}int fun(MyClass a)//這是一個函數(shù)。調(diào)用時,編譯器會自動調(diào)用MyClass類型的構(gòu)造函數(shù),并重新實例化MyClass int fun(MyClass&;AMPA)//此函數(shù)不會調(diào)用MyClass類型的構(gòu)造函數(shù),只需傳遞一個指針~現(xiàn)在回到您的問題,賦值構(gòu)造函數(shù)也是一種構(gòu)造函數(shù),你給它一個非引用、非指針的參數(shù),它會調(diào)用這種類型的構(gòu)造函數(shù),這很好~一個函數(shù)不斷地調(diào)用自己,這樣它就不會出錯,就不會堆棧溢出了,是嗎?簡單來說,事情是這樣的:intfun(MyClass a){fun(a)}//你認為這個函數(shù)有一天會結(jié)束嗎?