關於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 中,返回引用是乙個比較晦澀的概念。在書中,對此僅僅做了乙個一般的介紹,並沒有展開。我覺得有必要對此進行一...