c 引用總結

2021-09-08 05:13:04 字數 1236 閱讀 6594

引用做函式引數

struct teacher

;void printft(teacher *pt)

//pt和t1的是兩個不同的變數

void printft3(teacher pt)

void main()

引用的本質

struct teacer ;

int main()

1)引用在c++中的內部實現是乙個常指標type& name ==type* const name

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

3)從使用的角度。引用會讓人誤會其僅僅是乙個別名。沒有自己的儲存空間。這是c++為了有用性而做出的細節隱藏。當實參傳給形參引用的時候,僅僅只是是c++編譯器幫手工取了乙個實參位址,傳給了形參引用(常量指標)

函式返回值是引用

int getaa1()

//基礎型別a返回的時候,也會有乙個副本

int& getaa2()

int* getaa3()

指標引用

#include 

using

namespace

std;

namespace namespacea

namespace namespaceb ;

}}struct teacher ;

void operatorteacher(teacher * const p)

void operatorteacher(const teacher * p)

void swap(int &a, int &b)

void getteacher(teacher **p)

void getteacher2(teacher* &p)

int main()

常引用

void main()

//2 用常量 初始化 常量引用

cout

<<"hello..."

<"pause");

return ;

}

C 引用總結

乙個變數的乙個別名,乙個引用只屬於乙個變數。引用與其代表的變數共享同乙個儲存單元,與變數有著相同的位址 型別 引用名 變數名 在此起標識作用,並不代表取位址符 引用必須初始化。由於沒有單獨的儲存空間,引用只有宣告沒有定義。當 前為型別名時,必為引用宣告 int b a 當 單獨存在時 p a 為取位...

C 引用總結

引用其實就是給乙個存在的變數取乙個別名,就像給人取外號一樣。編譯器不會給引用變數開闢記憶體空間,它和引用的變數公用一快記憶體空間。引用的規則是 型別 引用變數名 引用實體 如 test 輸出 0078f77c 0078f77c 引用也可以用來當作引數 void swap int left,int r...

C 引用總結

引用就相當於於起別名。語法 資料型別 別名 原名 includeusing namespace std int main 作用 函式傳參時,可以利用引用的技術讓形參修飾實參 優點 可以簡化指標修改實參 值傳遞,形參不會修飾實參。位址傳遞,形參會修飾實參。引用傳遞,形參會修飾實參。引用的語法更清楚簡單...