簡體   English   中英

返回類型operator = C ++

[英]Return type of operator = in C++

我只是要澄清一下。 比方說,我想覆蓋operator =。 根據我的閱讀,這應該返回對象的參考。 正如我從其他來源讀到的那樣,Reference只是該對象的替代名稱。 我可以這樣做嗎?

MyObject MyObject::operator =(const MyObject &o2) {
    //insert processing code here
    return *this;
}

而不是這個?

MyObject& MyObject::operator =(const MyObject &o2) {
    //insert processing code here
    return *this;
}

在第一種情況下,您返回*this的副本,而不是對*this的引用。 所以你應該堅持第二種情況。 這兩種情況之間存在很大差異,特別是對於復制“昂貴”的類型。

暫無
暫無

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

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