一、引用概念
引用就是给已经存在的变量取一个别名,并不是新定义一个变量。编译器不会为引用变量开辟内存空间,引用和它引用的变量共用一块内存空间。
引用的书写格式:
类型& 引用名 = 已定义的变量名;
例如:
int a = 5;
int& ra = a; // 声明 ra 是整形变量 a 的一个引用,用整形变量 a 的值对它进行初始化
此时 ra 就可以看作是变量 a 的引用,即 ra 是变量 a 的一个别名。经过这样声明后 ra 和 a 的作用相同,它们都代表同一个变量。
注意:上述声明语句int& ra = a;
中的&
是引用声明符,在这里它不代表地址。
二、引用特性
- 引用自定义时必须初始化
- 一个变量可以用多个引用
- 引用一旦引用一个实体,就不能再引用其他实体了
- 引用的类型必须和引用实体的类型相同
三、常引用
void TestConstRef() {
const int a = 10;
//int& ra = a; // 该语句编译时会出错,a为常量
const int& ra = a;
// int& b = 10; // 该语句编译时会出错,b为常量
const int