位置:首页 > 高级语言 > C++在线教程 > C++引用(参考)

C++引用(参考)

C++的引用变量是别名,也就是另一个名称为一个已经存在的变量。引用变量初始化,无论是变量名或引用名可以用于指该变量。

C++引用VS指针:

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

  • 不能有NULL引用。必须始终能够假设一个参考连接到一个合法的一块存储。

  • 一旦参考被初始化为一个对象,它不能被改变为引用另一个对象。指针可以在任何时候指向另一个。

  • 在创建时引用必须初始化。指针可以随时进行初始化。

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++程序员应该很清楚:

概念 描述
引用作为参数 C++支持传递引用的函数参数比参数更安全
引用作为返回值 可以从C++函数像任何其他数据类型可以返回返回引用