第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于賦值運算重載是否正確的問題?

#include?"Dollar.h"

Dollar?&?Dollar::operator?+?(const?Dollar?&?doll)
{
????Dollar?dollarRes;

????int?c?=?doll.cent?+?cent;
????dollarRes.cent?=?c?%?100;

????int?d?=?doll.dollar?+?dollar;
????dollarRes.dollar?=?d?+?c?/?100;

????return?dollarRes;
}

@Redknot,老師, 這個賦值運算符重載內(nèi)部創(chuàng)建的是一個棧變量,最后將這個棧變量的引用返回了,但是棧變量會隨著函數(shù)的結(jié)束而銷毀,那返回的這個對象引用是不是有問題?這樣寫是對的嗎?

正在回答

1 回答

是的,這樣你返回了一個臨時變量的引用也就是地址值給到外界,這樣外部其實還能操控你這個地址,但是地址指向的數(shù)據(jù)已經(jīng)被銷毀了。一般來說,返回引用或者是常引用通常是返回類的私有成員變量,用于提供外部接口,特別的例如Get函數(shù),const Data& Class::GetData() const { return m_data; };這種情況以常引用的方式返回了一個Data變量,同時函數(shù)為常函數(shù)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于賦值運算重載是否正確的問題?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號