簡體   English   中英

用於類構造函數的C ++參數傳遞(參考)

[英]C++ Parameter passing for class constructor (reference)

之間有什么區別?

classConstructor(const std::string theName);

classConstructor(const std::string& theName);

由於構造函數只是初始化成員,所以這2條語句之間有什么區別嗎?

當在變量名前使用'&'字符時,表示此變量將作為傳入參數中的一個成為SAME。 當我說相同的時候,我的意思是在記憶中。 有點像取消引用的指針。

這只是一個優化。 您將在此處使用相同的內存空間,而不是僅在此處為構造函數在內存中創建新變量。 在這里,用一個簡單的字符串,差異可以忽略不計,但請想象一下,例如,有一個巨大的對象向量。

有時,將其用作C中的指針非常有用。您可以在另一個函數中修改變量而無需傳遞指針。

最后,這稱為“參考”;)

希望你能得到幫助;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM