c++重載運算符 C 賦值運算符重載,為什么要返回引用?
C 賦值運算符重載,為什么要返回引用?由于賦值操作會更改左值,而這樣的運算符不會更改操作數(shù),因此賦值運算符重載會返回一個表達(dá)式(a=b)=C)的引用,該表達(dá)式會再次寫入a=b。歸還臨時物品是合理的。
C 賦值運算符重載,為什么要返回引用?
由于賦值操作會更改左值,而這樣的運算符不會更改操作數(shù),因此賦值運算符重載會返回一個表達(dá)式(a=b)=C)的引用,該表達(dá)式會再次寫入a=b。歸還臨時物品是合理的。如果返回引用,在大多數(shù)情況下不會出錯或?qū)е履承┎僮鲾?shù)意外修改。然而,這使得表達(dá)式(a,b)=C出現(xiàn),這與約定有點不一致。當(dāng)然,也可以返回常量引用。
為什么賦值運算符只能作為成員函數(shù)進(jìn)行重載,而不能作為友元函數(shù)重載?
我很久沒寫C了。我給你這個主意。它可以用作左值,因此需要返回*這個表單來返回引用friend函數(shù)。沒有這個指針,對嗎?賦值運算符返回所需的引用類型。這是鑰匙
!所以,RT