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