定义:
引用 reference 有时候又称为别名 alias ,它可以用作对象的另一个名字,通过引用我们可以间接地操纵对象,使用方式类似于指针,引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量.
与指针的区别:
引用与指针类似,但是又有区别,主要在以下几个方面
1.不存在空的引用,其必须连接到一块合法的内存
2.一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
3.引用在创建时必须初始化,而指针没这个限制
创建引用实例:
变量名称是变量附属在内存位置中的标签,引用可以当成是变量附属在内存位置中的第二个标签。因此,我们可以通过原始变量名称或引用来访问变量的内容。例如
//在下面的声明中 &叫做引用
int ival = 1024;
double pi = 3.1415926;
// ok: refVal 是一个指向 ival 的整形引用
int &refVal = ival;
// ok: sval 是一个初始化为 d 的double型引用
double &refpi = pi;
// 错误 引用必须被初始化为指向一个对象
//int &refVal2;
实例:
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<cstring>
#include "stdlib.h"
using namespace std;
int main()
{
/*
Name: C++_reference.cpp
Author: yoveldf
Date: 24/03/21 11:11
Description: C++ reference
*/
int ival = 1024;
double pi = 3.1415;
// ok: refVal 是一个指向 ival 的整形引用
int &refVal = ival;
// ok: sval 是一个初始化为 d 的double型引用
double &refpi = pi;
// 错误 引用必须被初始化为指向一个对象
//int &refVal2;
cout << "The value of ival is " << ival << endl;
cout << "The value of ival's reference refVal is " << refVal << endl;
cout << "The value of pi is " << pi << endl;
cout << "The value of pi's reference refpi is " << refpi << endl;
}
运行结果: