c++從入門到精通——引用
引用變量是一個別名,也就是說,它是某個已存在變量的另一個名字。一旦把引用初始化爲某個變量,就可以使用該引用名稱或變量名稱來指向變量。
注意事項
- &在此不是求地址運算,而是起標識作用。
- 類型標識符是指目標變量的類型
- 必須在聲明引用變量時進行初始化。
- 引用初始化之後不能改變。
- 不能有NULL引用。必須確保引用是和一塊合法的存儲單元關聯。
- 可以建立對數組的引用。
#include <iostream>
using namespace std;
//1. 認識引用
void test01(){
int a = 10;
//給變量a取一個別名b
int& b = a;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
cout << "------------" << endl;
//操作b就相當於操作a本身
b = 100;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
cout << "------------" << endl;
//一個變量可以有n個別名
int& c = a;
c = 200;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
cout << "c:" << c << endl;
cout << "------------" << endl;
//a,b,c的地址都是相同的
cout << "a:" << &a << endl;
cout << "b:" << &b << endl;
cout << "c:" << &c << endl;
}
//2. 使用引用注意事項
void test02(){
//1) 引用必須初始化
//int& ref; //報錯:必須初始化引用
//2) 引用一旦初始化,不能改變引用
int a = 10;
int b = 20;
int& ref = a;
ref = b; //不能改變引用
//3) 不能對數組建立引用
int arr[10];
//int& ref3[10] = arr;
}
int main()
{
test01();
return 0;
}
運行
a:10
b:10
------------
a:100
b:100
------------
a:200
b:200
c:200
------------
a:0x7ffe6ebd0eec
b:0x7ffe6ebd0eec
c:0x7ffe6ebd0eec