引用的意義與本質

2021-07-03 04:16:12 字數 833 閱讀 8669

1)引用作為其它變數的別名而存在,因此在一些場合可以代替指標

2)引用相對於指標來說具有更好的可讀性和實用性

引用本質思考:

思考1:c++編譯器背後做了什麼工作?

#include using namespace std;

int main()

引用是乙個有位址,引用是常量。

char *const p

引用的本質

1)引用在

c++中的內部實現是乙個常指標

type& name type*const name

2)c++編譯器在編譯過程中使用常指標作為引用的內部實現,因此引用所占用的空間大小與指標相同。

3)從使用的角度,引用會讓人誤會其只是乙個別名,沒有自己的儲存空間。這是c++為了實用性而做出的細節隱藏

補:間接賦值成立的三個條件

1定義兩個變數(乙個實參乙個形參)

2建立關聯實參取位址傳給形參

3*p形參去間接的修改實參的值

引用結論:

1)引用在實現上,只不過是把:

間接賦值成立的三個條件的後兩步和二為一

//當實參傳給形參引用的時候,只不過是c++編譯器幫我們程式設計師手工取了乙個實參位址,傳給了形參引用(常量指標)

2)當我們使用引用語法的時,我們不去關心編譯器引用是怎麼做的

當我們分析奇怪的語法現象的時,我們才去考慮c++編譯器是怎麼做的

引用的本質

首先,鄙人也是正在學習中的學生,不敢說深入徹底的理解了引用的本質。只是略有深度而已,請大家參考,也是督促自己深入理解一下引用。老話 不喜勿噴哈,如有錯誤,敬請批評指正。進入正題 引用 老師一定都講過,引用是變數的別名,如 引用的本質,其實就是乙個指標,乙個const型別的指標 我們總是會說的引用是乙...

AOP的本質和意義

aop的本質和意義 該文首先對aop的概念進行了介紹。其次介紹了aop的動態特性。有兩個圖比較經典 下圖是物件導向的動態特性原理的乙個簡化模型。此處圖貼不上,如果需要可以聯絡我!下圖是aop的乙個特性原理圖。此處圖無法貼上,如果需要可以聯絡我!上面兩個圖比較形象生動的解釋了aop和oop之間的差異。...

C 引用的本質

引用的意義 1 引用作為其他變數的別名而存在,因此在一些場合可以代替指標 2 引用相對於指標來說具有更好的可讀性和實用性 引用的本質 1 單獨定義普通引用時 必須初始化,說明很像乙個常量 includeusing namespace std 1 第一點 單獨定義普通引用時 必須初始化,說明很像乙個常...