第七章、引用
在 C 语言中我们经常使用指针用来记录一个变量的地址,然后使用解引用运算符(*)去访问或改变他指向的变量。使用指针这样的方法非常灵活且高效,但代码的可读性差,且可能出现无效的野指针,导致系统崩溃。
引用 是 C++ 引入一个新的语法,使用引用可以有效替代指针且使用非常方便。
1. 引用
引用(refrence)是为一个变量取一个别名,这个引用绑定原有的变量,使用这个别名等同于使用原有的变量。引用是指针的另一种用法。
声明引用变量的语法
变量类型 &变量名1=值, &变量名2=值, ...;
说明
- 引用型变量必须在创建时进行初始化。
- 引用型变量在创建后无法改变绑定关系。
- 引用型变量的类型必须和绑定的变量类型完全一致。
示例
// filename: refrence.cpp
#include <iostream>
using namespace std;
int main(int argc, char * argv[]) {
int x = 100;
int &rx = x; // rx为引用类型的变量,绑定x;
cout << "x:" << x << " rx:" << rx << endl;
x = 200;
cout << "x:" << x << " rx:" << rx << endl;
rx = 300;
cout << "x:" << x << " rx:" << rx << endl;
return 0;
}
编译和运行结果如下
weimz@mzstudio:~$ g++ -o refrence refrence.cpp
weimz@mzstudio:~$ ./refrence
x:100 rx:100
x:200 rx:200
x:300 rx:300
上述示例中 rx 是变量 x 的引用,可以通过 rx 直接访问 x。