亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Buffer & operator = 這個&和=號是做什么用的

以及到實現哪里

為什么Buffer & Buffer :: operator = (const Buffer & buf)

第一個&是做什么用的?

正在回答

1 回答

Class &operator=(const Class& 別名);?

這是賦值運算符重載的標準格式,形參為本類對象的常引用,返回值是本類對象自己的引用可以做左值,只能用類的成員重載--回答源于:Class &operator=(const Class &); 操作符重載什么意思???_百度知道 (baidu.com)


我的理解就是:

Buffer & Buffer :: operator = (const Buffer & buf)

Buffer&表示左值,返回值是作Buffer類的左值

Buffer :: operator =表示Buffer類中的賦值運算符(=)進行重載

(const Buffer & buf)表示傳入的值是Buffer類的常引用


左值和右值的關系

int a = 1;? ? ?// a 是左值

int b = 2;? ? ?// b 是左值

int c = a + b; // + 需要右值,所以 a 和 b 被轉換成右值

? ? ? ? ? ? ? ?// + 返回右值


右值引用:數據類型&& 名稱 = 右值;

左值引用:數據類型& 名稱 = 左值;

常量的左值和右值引用:const 數據變量 &/&& 名稱 = 左值/右值

區分左值和右值:左值可以取地址,可以進行運算,右值是臨時變量,取不到地址

int&& a1 = sum(a,b);//sum(a,b)是右值,在函數結束后釋放,不存在地址

int& b1 = a1;//a1由上一行被賦值后,有地址是左值


可能理解不到位,請多指教


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Buffer & operator = 這個&和=號是做什么用的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號