【C++】第三节——引用详解
2022/1/6 1:04:11
本文主要是介绍【C++】第三节——引用详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 引用——别名(&)
- 特点
- 常引用
- 引用的应用场景
- 1.使代码书写更加简化
- 2.引用类型作为函数形参
- 3.引用作为函数返回值
- 指针和引用共性
- 传引用的汇编代码
- 传地址的汇编代码
- 指针和引用的不同
引用——别名(&)
类型名& 引用变量名(对象名)=引用实体;
引用不是新定义一个变量,而是给已经存在的变量取一个别名,编译器不会为引用变量开辟空间,他和他的引用共用同一块内存
特点
- 引用在定义时必须初始化
- 一个变量可以有多个引用
- 引用一旦引用了一个实体,变不能引用其他实体
常引用
void Test() { const int a = 10; //int& ra = a; 该语句编译时会报错因为a被定义为const类型为常量,用一个普通类型的ra去引用a,ra代表可修改,a就不安全了 const int& ra = a;//可以,即使引用了也不可以修改 //int& b = 10; //也会出错,b是常量 const int& b = 10;//正确 double d = 12.34; //int& rd = d; 该语句编译报错,引用类型必须和引用实体是同种类型 const int& rd = d;//可以,const类型的引用不可修改,只会取d的整数部分 }
这篇关于【C++】第三节——引用详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享