[英]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.