C++ 参考



引用变量是别名,也就是已经存在的变量的另一个名称。一旦引用初始化为一个变量,就可以使用变量名或引用名来引用该变量。

引用与指针

引用经常与指针混淆,但引用和指针之间有三个主要区别:

  • 不能有空引用。你必须始终能够假设引用连接到合法的存储空间。

  • 一旦引用初始化为一个对象,就不能将其更改为引用另一个对象。指针可以随时指向另一个对象。

  • 创建引用时必须对其进行初始化。指针可以在任何时候初始化。

在C++中创建引用

可以将变量名视为附加到变量在内存中位置的标签。然后可以将引用视为附加到该内存位置的第二个标签。因此,可以通过原始变量名或引用来访问变量的内容。例如,假设我们有以下示例:

int i = 17;

我们可以声明 i 的引用变量如下。

int& r = i;

将这些声明中的 & 读作 **引用**。因此,将第一个声明读作“r 是一个初始化为 i 的整型引用”,将第二个声明读作“s 是一个初始化为 d 的双精度型引用”。以下示例使用了 int 和 double 的引用:

#include <iostream>
 
using namespace std;
 
int main () {
   // declare simple variables
   int    i;
   double d;
 
   // declare reference variables
   int&    r = i;
   double& s = d;
   
   i = 5;
   cout << "Value of i : " << i << endl;
   cout << "Value of i reference : " << r  << endl;
 
   d = 11.7;
   cout << "Value of d : " << d << endl;
   cout << "Value of d reference : " << s  << endl;
   
   return 0;
}

当以上代码编译并执行时,会产生以下结果:

Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7

引用通常用于函数参数列表和函数返回值。因此,以下两个与 C++ 引用相关的主题对于 C++ 程序员来说应该很清楚:

序号 概念与描述
1 引用作为参数

C++ 支持将引用作为函数参数,比参数更安全。

2 引用作为返回值

您可以像任何其他数据类型一样从 C++ 函数返回引用。

广告