1.引用的定義:
引用是已存在變量的別名。通過引用可以間接的訪問變量。指針也可以間接的訪問變量,但是引用在使用上相對於指針更加安全。引用的主要用途是爲了描述函數的參數和返回值。
定義一個引用型變量的時候,需要對已存在的變量進行初始化,於是引用就被綁定在那個變量上。對引用的改動就是對它所綁定的變量的改動。
語法格式:
數據類型 & 引用變量名 = 變量名
注意:
(1)數據類型應該和被引用變量的類型是相同的
(2)&是一個二元操作符
(3)變量名是一個已定義的變量
例:
int x;
int & r=x;
解釋:
(1)被引用變量(x)的數據類型和引用變量(r)數據類型是一樣的,都是int
(2)在定義一個引用型變量r之前 ,x是已經定義好的。
2.引用變量的說明
定義一個引用變量後系統並沒有爲引用變量分配空間,引用變量和被引用的變量是具有相同的地址,所以此時引用就被綁定在這個變量上,對引用的改動就是對它綁定的變量進行改動,反之同理。
#include<iostream>
using namespace std;
int main(){
int x=3;
int &r=x;
cout<<"x = "<<x<<"\t&x = "<<&x<<"\n";
cout<<"r = "<<r<<"\t&r = "<<&r<<"\n";
r=5;
cout<<"x = "<<x<<"\t&x = "<<&x<<"\n";
cout<<"r = "<<r<<"\t&r = "<<&r<<"\n";
return 0;
}
【運行結果】
由以上的例子可知,引用與被引用變量指向同一個地址,並且對引用值的修改就是對被引用變量的修改。
3.常引用:
意思就是在定義引用變量的時候用const修飾,此時定義的引用就是常引用
語法:
const 數據類型 & 引用變量 = 變量名;
加上const就防止通過引用去改變變量的值,但是可以通過變量本身去修改變量的值,因爲變量沒有用const修飾
例:
#include<iostream>
using namespace std;
int main(){
int i=100;
const int & r=i;
r=220;
return 0;
}
結果程序報錯。
此時若試圖改變i的值就直接通過i本身來改變,如i=100。