C++引用

C++引用教程

C++ 中,增加了一个新的类型,就是引用。引用变量其实是一个别名,也就是说,它是某个已存在 变量 的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。

C++定义引用变量

语法

type &varname = destVarName;

参数

参数 描述
type 引用变量的类型
varname 引用变量名
destVarName 需要引用的变量

说明

在定义引用变量时,需要在变量名前面加上 & 符号。

C++引用使用

  • & 在此不是求地址运算,而是起标识作用。
  • 类型标识符是指目标变量的类型。
  • 声明引用时,必须同时对其进行初始化。
  • 引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
  • 声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。&ra与&a相等。
  • 不能建立 数组 的引用。因为数组是一个由若干个元素所组成的集合,所以无法建立一个数组的别名。

案例

C++引用变量

定义 C++ 引用变量

#include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; int a = 2021; int &ra = a; cout << "a = " << a << " &a = " << &a << endl; cout << "ra = " << ra << " &ra = " << &ra << endl; return 0; }

程序运行后,控制台输出如下图所示:

46_C引用.png

我们首先,定义了一个 int 类型 的变量 a,并赋值为 2021,接着,我们定义了一个引用变量 ra,并且 ra 指向了变量 a。

最后,我们打印了变量 a 的值和变量 a 的地址,以及打印了变量 ra 的值和变量 ra 的地址,我们发现,变量 a 的值和变量 ra 的值一样,变量 ra 的地址和变量 a 的地址一样,即,变量 ra 就是变量 a。

C++引用变量

定义 C++ 引用变量

#include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; int a = 1024; int &ra = a; cout << "before a = " << a << endl; ra = 1100; cout << "after a = " << a << endl; return 0; }

程序运行后,控制台输出如下图所示:

47_C引用.png

我们定义了一个引用变量 ra 指向了变量 a,最后,我们修改了引用变量 ra,发现变量 a 的值也一起变更了,即,引用变量就是其所指向的变量。

C++引用总结

在 C++ 中,增加了一个新的类型,就是引用。引用变量其实是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。