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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有什么辦法可以找到參考地址?

有什么辦法可以找到參考地址?

C++
絕地無雙 2019-10-08 15:55:17
有什么辦法可以找到參考地址?使其更具體:變量本身的地址,而不是初始化變量的地址。
查看完整描述

3 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

引用沒有自己的地址。盡管可以將引用實現為指針,但是并不需要或不能保證。


C ++常見問題說得最好:


與指針不同,一旦將引用綁定到對象,就不能將其“重新定位”到另一個對象。引用本身不是對象(它沒有身份;使用引用的地址會為您提供引用對象的地址;請記?。阂檬瞧湟脤ο螅?。


另請參閱我的答案,以獲取有關引用與指針的不同之處的完整列表。



查看完整回答
反對 回復 2019-10-08
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

NO。無法獲取引用的地址。

那是因為引用不是對象,它是別名(這意味著它是對象的另一個名稱)。


int  x = 5;

int& y = x;


std::cout << &x << " : " << &y << "\n";

這將打印出相同的地址。

這是因為“ y”只是對象“ x”的另一個名稱(別名)。


查看完整回答
反對 回復 2019-10-08
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

ISO標準說得最好:


不應有對引用的引用,也不應有引用數組,也不能有指向引用的指針。


我不喜歡很多人在這里使用的邏輯,因為您不能將引用“保證無論如何都只是一個指針”,所以您不能這樣做。正如int x可能只是一個沒有地址的處理器寄存器,但在& x使用時神奇地成為一個內存位置一樣,編譯器仍然可能允許您想要的內容。


過去,許多編譯器的確可以完全滿足您的要求,例如


int x, y;

int &r = x;

&r = &y; // use address as an lvalue; assign a new referent

我剛剛檢查了一下,GCC會編譯它,但是帶有強烈的警告,結果程序被破壞了


查看完整回答
反對 回復 2019-10-08
  • 3 回答
  • 0 關注
  • 789 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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