簡略引見C++中變量的援用。本站提示廣大學習愛好者:(簡略引見C++中變量的援用)文章只能為提供參考,不一定能成為您想要的結果。以下是簡略引見C++中變量的援用正文
甚麼是變量的援用
對一個數據可使用“援用(reference)”,這是C++對C的一個主要擴大,援用是一種新的變量類型,它的感化是為一個變量起一個體名。假設有一個變量a,想給它起一個體名b,可以如許寫:
int a; //界說a是整型變量 int &b=a; //聲明b是a的援用
以上語句聲清楚明了b是a的援用,即b是a的別號。經由如許的聲明後,a或b的感化雷同,都代表統一變量。
留意: 在上述聲明中,&是援用聲明符,其實不代表地址。不要懂得為“把a的值賦給b的地址”。聲明變量b為援用類型,其實不須要別的開拓內存單位來寄存b的值。b和a占內存中的統一個存儲單位,它們具有統一地址。聲明b是a的援用,可以懂得為: 使變量b具有變量a的地址。見下圖,假如a的值是20,則b的值也是20。
在聲明一個援用類型變量時,必需同時使之初始化,即聲明它代表哪個變量。在聲明變量b是變量a的援用後,在它們地點函數履行時代,該援用類型變量b一直與其代表的變量a相接洽,不克不及再作為其他變量的援用(別號)。上面的用法纰謬:
int a1, a2; int &b=a1; int &b=a2; //妄圖使b又釀成a2的援用(別號)是不可的
援用的簡略應用
【例】援用和變量的關系。
#include <iostream> #include <iomanip> using namespace std; int main( ) { int a=10; int &b=a; //聲明b是a的援用 a=a*a; //a的值變更了,b的值也應一路變更 cout<<a<<setw(6)<<b<<endl; b=b/5; //b的值變更了,a的值也應一路變更 cout<<b<<setw(6)<<a<<endl; return 0; }
a的值開端為10,b是a的援用,它的值固然也應當是10,當a的值變成100(a*a的值)時,b的值也隨之變成100。在輸入a和b的值後,b的值變成20,明顯a的值也應為20。運轉記載以下:
100 100 (a和b的值都是100)
20 20 (a和b的值都是20)