二十.引用类型

二十.引用类型,第1张

二十.引用类型 引用类型 什么是引用

1.可以理解成给一个已有的变量名,取一个别名

格式

1.类型名 &引用名 = 同类型的某变量名;
2.此时的 “&”就不是之前我们讲到的取地址的意思了,而是引用一个变量的意思

案例1

1.先看如下代码

int iNum=0;
int &iPhoneNum=iNum;

2.发现我们的变量名iNum被iPhoneNum给引用了
3.什么意思呢?
4.也就是此时iPhoneNum和iNum 都指的是同一个内存地址,也就相当于iPhoneNum是变量名iNum的另外一个名字
5.注意尽管一样,但是类型有些许不同iPhoneNum是int &类型,而iNum是int类型

注意

1.定义引用时一定要将其初始化,否则编译无法通过。通常会用某个变量去初始化引用,初始化后,它就一直引用该变量,不会再引用别的变量。
也可以用一个引用去初始化另一个引用,这样两个引用就引用同一个变量。

int iNum=0;
int &iPhoneNum=iNum;
int &iHeartPhoneNum=iPhoneNum;

2.不能用常量初始化引用,也不能用表达式初始化引用(除非该表达式的返回值是某个变量的引用)。

const char cc = 'a';
char & r = cc;           //编译出错,const char 类型的常变量不能用来初始化 char & 类型的引用
char & r2 = (char &)cc;  //这种就没问题,强制类型转换

3.总之,引用只能引用变量。

使用场景 1.函数参数

我们下节讲

2.函数返回值

我们下节讲

3.常引用

1.记得我们讲常量的时候说过,const这个关键字,如果在引用类型前加上const就成为了常引用
2.同样先看如下代码 英文:cite: 引用; 引证;

int iNum=0;                    //局部变量  int
int &iNumCite=iNum;            //iNumCite引用 int &
const int &iHeartNumCite=iNum; //iHeartNumCite常引用 const int &
iHeartNumCite=1;//很显然是错误的
iNumCite=2;     //是对的

迪大交流群:285530835

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5714833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存