關於C 中的引用

2021-09-28 07:00:05 字數 1410 閱讀 7580

關於c++中的引用, 它其實不是定義乙個新變數, 而是給已經存在的變數取了乙個別名, 這樣編譯器也就不會為變數開闢記憶體空間, 它和它引用的變數共用同一塊記憶體空間.

來看例子

#include using namespace std;

int main()

引用是給乙個變數起別名, 兩個名字都是乙個變數, 所以不論操作哪個變數, 從結果上來看都是一樣的.

引用是代替指標完成跨棧操作的, 所以它具備指標跨棧的一切特點.

引用的底層實現實際上是指標.

關於c++中引用的幾個特點:

引用在定義時必須初始化. 例如

int a = 10;

int &b;

b = a;

這樣的寫法是不被允許的.

乙個變數可以有多個引用. 例如

#include using namespace std;

int main()

這樣去修改任意乙個引用的值都可以修改a的值.

乙個引用一旦引用了乙個變數, 就不能再引用其他變數了. 比如

int a = 10;

int b = 20;

int & sa = a;

int & sa = b;

這樣的寫法是不被允許的.

關於c++中引用使用的的一些小方法

#include using namespace std;

void test1(int & a)

int main()

通過傳引用我們可以在函式中修改主函式中變數的值.

還有我們之前在c語言中利用指標實現的兩數交換, 現在同樣可以利用引用來實現.

#include using namespace std;

void swap(int & a, int & b)

int main()

這樣在實現交換兩數的功能時會很方便.

關於c++中引用使用時的一些需要注意的地方.

先看例子

1.

#include using namespace std;

int main()

這樣的寫法是不允許的, 一定要注意無法從const int 轉換為 int &

int & pa = 10;
這樣的寫法也是不被允許的, pa是乙個常量

double d = 0.618;

int & rd = d;

這樣的寫法也會產生編譯錯誤, 因為型別不同, 無法從double 轉換為 int &

關於c 中的引用總結

1 在引用的使用中,單純給某個變數取個別名是毫無意義的,引用的目的主要用於在函式引數傳遞中,解決大塊資料或物件的傳遞效率和空間不如意的問題。2 用引用傳遞函式的引數,能保證引數傳遞中不產生副本,提高傳遞的效率,且通過const的使用,保證了引用傳遞的安全性。3 引用與指標的區別是,指標通過某個指標變...

關於C 的引用

c 的實現是建立在c的基礎上的,c 是c的超集,也就是c的補充以及擴充套件 所以叫c 也可以理解為c 是裝了裝備的c。c 的引用其實就是c的指標的變形,兩者可以相互替代。下面先貼一段c 的 include using namespace std void fgd int e intmain 輸出結果...

關於C 中函式返回引用的討論

從函式返回引用 確保其引用的物件在函式執行完後仍然存在。引用型別返回值的主要特徵是可以作為左值,這意味著我們可以在賦值語句的左邊使用返回引用的函式的結果。永遠不要從函式中返回區域性變數的引用 c 中,返回引用是乙個比較晦澀的概念。在書中,對此僅僅做了乙個一般的介紹,並沒有展開。我覺得有必要對此進行一...