c++详细学习——引用
1 引用(reference)
引用是一个变量的别名,故引用在申明的时候必须给初始值,从此他们就建立了“不能离婚的婚姻关系”,改变引用就会改变被引用的原变量
1 int main() 2 { 3 int x; 4 int &x_r = x; /* 引用x_r在定义的时候必须给一个初始化值 */ 5 6 return 0; 7 }
引用的实质就是const指针,是为了代码看起来简洁美观设计的(翁恺说的)
面向对象设计C++-- 浙江大学 -- 翁恺 --国家精品课程(附源代码)
2 引用的基本用法
稍后继续,敬请期待......
3 指针和引用
相同点
都是地址。指针指向的是一块内存的地址,引用指向的是被引用变量的地址别名。
不同点
(1)指针是一个实体,独立存在;而引用是一个别名,必须依赖被引用变量。
(2)指针申明(定义)时可以为nullptr;而引用在声明(定义)时不能为空,必须指定被引用变量。
(3)指针(此处指非const指针)可以指向其他地址,指针“见异思迁”;而引用自申明(定义)起,不能再指向其他地址,引用“从一而终”。
(4)sizeof大小不同。指针为8(在64位机器中,即指针的大小);引用等于被引用变量的大小。
(5)指针不是类安全的,而引用是(有类型检查)。
参看文献
<C++ 值传递、指针传递、引用传递详解 > https://www.cnblogs.com/dingxiaoqiang/p/8012578.html
<C++中引用传递与指针传递区别(进一步整理)> https://www.iteye.com/blog/xinklabi-653643
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?