引用和指標類似,都是直接對變數地址操作,區別是引用對象不能改變,引用要直觀好理解一些,本教程就具體為大家介紹一下引用。
1、啟動 Geany
1)點菜單“應用程式-編程-Geany”啟動 Geany ,建立一個 c++ 來源程式;
2)點菜單“檔案-另存新檔”命令,以“refer”為檔案名稱,儲存檔案到自己的檔案夾;
2、建立引用
1)引用相當於變數的別名或另外的綽號,本身並不是變數,因此只有聲明沒有定義;
輸入下面的代碼:
int a = 25;
int &ra = a;
cout << "ra= " << ra;
2)第一句定義一個整型變數 a,變數在記憶體中有地址,可以用變數名 a 來訪問,
第二句建立一個引用,類型是整型,與號 & 是定義符號,前面有類型的一定是聲明或定義,
第三句是顯示 ra,跟指標類似,定義完了就可以直接用 ra 這個名稱;
輸出 ra 實際上就是輸出 a,像是變數 a 又多了一個地址名;
3)接下來我們來看二者之間相互對應關係,繼續輸入下面的代碼;
a = 16;
cout << "ra= " << ra <<endl;
ra = 20;
cout << "a = " << a <<endl;
4)第一句改變變數 a 的值,ra 跟著也改變,
第二句改變引用 ra 的值,a 也跟著變;
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int a = 25;
int &ra = a;
cout << "ra= " << ra;
cout << endl << endl;
a = 16;
cout << "ra= " << ra <<endl;
ra = 20;
cout << "a = " << a <<endl;
return 0;
}
5)引用和指標用在函數中比較多,函數運行時要使用形參,形參是一個局部臨時變數,
函數在結束時要返回運算結果,這個值也要先存放在一個局部臨時變數裡,
使用引用和指標的地址特性,可以跳過局部變數,直接對傳過來的變數進行操作,提高速度,節省記憶體資源;
6)建立一個c++程式,儲存檔案名稱為 swap,輸入下面的代碼;
#include <iostream>
using namespace std;
void swap (int &rx, int &ry); //聲明一個函數,定義在主函數外面
int main(int argc, char** argv) //主函數,調用 swap 函數
{
int a =25;
int b= 16;
cout << " a= " << a;
cout << " b= " << b;
cout << endl << endl;
swap(a,b); //調用函數,直接交換 a,b
cout << " a= " << a;
cout << " b= " << b;
return 0;
}
void swap(int &rx, int &ry) //定義前面聲明的函數
{
int temp = rx;
rx = ry; //使用的時候直接使用引用名稱
ry = temp;
}