c 引用小結

2021-10-11 15:12:03 字數 829 閱讀 1977

在c++中引用方式為:

int

&c = a;

引用的本質為

int

*const c=a;

因此c本質是個指標常量,且其指標指向不可變。因此在有些需要傳遞某種資料型別的指標時,可以用引用的方式傳遞。

引用的第二種方式,就是系統會自動對引用變數進行解引用取值操作;例如:

int

&c = a;

c =100

;//*c = 100

int &c = a;本質像我前面說的,是將a的位址傳遞給c,c本質為指標常量。

c = 100;這句話如果將c看作指標常量來說,是錯誤的,此時系統會自動認為*c=100;因此此時可以將c看作a的乙個別名。

綜上所述,引用既可以看作變數的位址傳遞,也可以看作變數的引用傳遞,即為物件取別名

區域性變數的引用不可作為函式返回值

//返回區域性變數引用

int&

test01()

intmain()

其原因是因為區域性變數存放在棧區,當函式呼叫完成之後,區域性變數記憶體空間被釋放,此時如果呼叫其引用,會產生記憶體錯誤。

當以引用(靜態變數/全域性變數)作為函式返回值時,函式呼叫可作為左值

//返回靜態變數引用

int&

test02()

intmain()

C 引用小結

引用的本質就是給同乙個記憶體空間起不同的名字 include using namespace std int main 引用必須要進行初始化 include using namespace std 引用的基本基本知識 void myswap int a int b int main 這種函式是萬萬要...

C 引用小結

從之前的部落格中有提到,c 有兩種特性 return by value and return by reference 一種是返回值,一種是返回引用 並且,在一般情況下,傳引用比傳值效率更高。先說說引用是什麼,引用用的是 符號,符號既可以用來當引用,也可以用來當取位址符,只不過使用方法不同。引用的本...

C 引用的小結

一 引用的概念 例如 point pt1 10,10 point pt2 pt1 定義了pt2為pt1的引用。通過這樣的定義,pt1和pt2表示同一物件。需要特別強調的是引用並不產生物件的副本,僅僅是物件的同義詞。因此,當下面的語句執行後 pt1.offset 12,12 pt1和pt2都具有 12...