引用
1. 概论
引用并非对象,相反的,它只是为一个已存在的对象所起的另外一个名字。
-
引用必须进行初始化,定义了一个引用之后,对其进行的所有操作都是在与之绑定的对象上进行的。
-
为引用赋值,实际上是把值赋给了与引用绑定的对象;
-
获取引用的值,实际上是获取了与引用绑定的对象的值;
-
以引用对象作为初始值,实际上是以与引用绑定对象的作为初始值。
-
引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起;
-
引用的基本数据类型必须与引用对象的基本数据类型一样。如下面代码所示。
#include <iostream>
using namespace std;
int main()
{
int* pa = &a; //指向a的指针
int a = 10;
//int &r; //错误的,引用必须初始化。
int &ra = a; //ra与变量a绑定
int*& rpa = pa; //pa的引用,int*表示rpa引用的类型是整数指针
ra = 20; //为引用赋值,实际上是a = 10
cout<<"a = "<<a<<endl;
cout<<"ra = "<<ra<<endl