這個問題很好,大部分人都會有這種疑問,正常來說,具體還是要分情況來看。
1.函數(shù)不是構造函數(shù),且參數(shù)是只讀:用const引用
2.函數(shù)不是構造函數(shù),且參數(shù)是作為輸出(out)參數(shù):用指針
3.函數(shù)不是構造函數(shù),且不是只讀,但也不是輸出參數(shù):用引用
4.函數(shù)是構造器,但參數(shù)并不參與組成構造類的一部分,那就參考上面幾點
5.函數(shù)是構造器,且參數(shù)參與構造,且參數(shù)是可移動的類型:傳值
6.函數(shù)是構造器,且參數(shù)參與構造,但構造的類只保留參數(shù)的引用:傳shared_ptr或者自定義指針