一、引用是什么?
引用就是给已经存在的变量取个别名,也就是取外号。比如说,班级里有一个小孩叫赵铁柱,人高马大打篮球很好,人称“二班奥尼尔”。当这个外号被大家熟知后,那讨论到他时,不管是说“赵铁柱昨天和姑娘表白了”还是“二班那个奥尼尔被女生发好人卡了”,大家都知道指的是谁。同样,假设我们已经定义了一个叫做a的变量,但是在某些场合人们更习惯叫这个变量为b,那就可以通过引用的方式,给a取个外号叫b。但是就像不管取多少外号,我们都知道这说的是一个人一样,不论一个变量有多少个引用,它在内存中都只有一个存储位置,存储的数值都是一样的。所以,对引用的操作,其实就是对本体的操作。
二、引用咋写?
引用的写法用到了符号 & 。这个符号在C++里用处广泛,有时候表示与条件(&&),有时候表示取地址,但在这里,它有了船(全)森(新)的用法:给变量取外号(创建变量的引用)。
我们知道,英美两国的英语单词在某些时候不一样。比如在英国,老绅士们管秋天叫autumn;但到了美国一些地方,美国老铁会亲切地称秋天为fall。为了照顾两国人民,,我们要让秋天有两个名字,但是归根到底,秋天就是秋天嘛。那这时候 ,引用该怎么处理呢?
int autumn; //英国人:这是我说的秋天
int & fall = autumn; //美国人:俺也一样!
看到了吗?定义引用三部曲:
1、写出引用类型(int)
2、亮出引用身份(&)
3、给出引用名称(fall)
这里,& 这个符号和int一起,表示定义了一个指向int的引用。至此,我们就可以愉快地混用autumn和fall而不用顾忌两国人民因为秋天的叫法不同而吵架了。
我们做个试验:
#include