Cplusplus 简明教程

C++ References

引用变量是一个别名,即已存在变量的另一个名称。一旦引用使用变量进行初始化,变量名称或引用名称都可以用来引用变量。

References vs Pointers

引用通常与指针混淆,但引用和指针之间的三个主要区别是 -

  1. 引用不能为 NULL。您必须始终能够假定引用连接到合法的存储单元上。

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

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

Creating References in C++

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

int i = 17;

我们可以为 i 声明引用变量,如下所示。

int& r = i;

在这些声明中读取 & 作为 reference 。因此,将第一个声明读取为“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 引用相关的重要主题 -

Sr.No

Concept & Description

1

References as Parameters C++ 支持比参数更安全地将引用作为函数参数传递。

2

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