C++笔记之谈谈【引用】的那些事

本文深入探讨了C++中的引用概念,将其视为对指针的一种封装,并详细介绍了引用的特点,包括其与原始变量类型的匹配、声明时必须初始化的规则、可以进行多次引用以及引用符号在不同上下文中的含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 引用的概念

闲扯:在上大学的时候,学习C语言,就被指针折磨的死去活来,现在想想,老师怎么就那么不懂我们的心,把我们带上了不归路。

引用是C++中较C新增的功能,他是对指针的二次封装(重要)。

变量名,本事是一段内存的引用,即别名。此处引入的引用,是为已有变量起一个别名。

声明如下:

int m;
int &rm = m;

二.特点

1. 类型与原类型保持一致,且不分配内存,与被引用的变量有相同的地址。

此特点可以用于函数的形参定义;

int GetContent(char* &ch,int& n)


2. 声明的时候必须初始化,一经声明,不可更改。

这里说的更改是更改内容地址,即声明之后,内容地址的不变的;

int m,n;
int &rm = m;
int &rm = n; // 错误,不可更改原有的引用关系


3. 可以对引用再次引用,多次引用的结果,是某一个变量具有多个别名。

int m;
int &rm = m;
int &&rrm = rm;
4. &符号前有数据类型时,是引用,其他的情况皆为取地址。

int m;
int &rm = m; // &为引用
cout<<"&rm = "<<&rm<<endl; // &为取地址


前方高能请注意:

引用的本质是指针,C++对裸露的内存地址(指针)做了一次包装,又取得指针的优良特性,所以,在对引用取地址,建立引用的指针没有意义了。

即,

♦ 没有引用的引用

♦ 没有引用的指针

♦ 没有引用的数组


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值