引用和指針類似,都是直接對變量地址操作,區別是引用對象不能改變,引用要直觀好理解一些,本教程就具體為大家介紹一下引用。
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;
}