引用

引用
作用:给变量起个别名。(访问的内存一样)
语法:数据类型 &别名 = 原名。

引用的注意事项:
1--引用必须初始化。
2--引用在初始化后就不能改变了。

引用作函数参数:
在函数传参的时候,可以利用引用的技术让形参修饰实参,可以简化指针修改。

引用作函数的返回值:

1--不要返回局部变量的引用。(局部变量是在栈区,用完就释放了)
如果返回了,第一次输出结果正确,因为编译器做了保留,第二次输出结果就乱码了。
2--函数的调用可以作为左值。(也就是可以进行赋值)

引用的本质:
引用的本质在c++中就是一个指针常量 。
int &ref = a;
在编译器内部,会变成这样
int *const ref = &a;

ref = 20在编译器内部发现ref是引用自动变成*ref = 20;

 

常量引用:
作用:主要用来修饰形参,防止误操作。
int & ref = 10 为什么不合法?
引用引用的应该是栈区或者堆区的内存空间,但10是在常量区。
const int & ref = 10
当加上const之后,编译器做了这样的事,
int temp = 10;
const & ref = temp;
加入const之后变成只读的状态,不可修改。

 

posted on   Love&Share  阅读(149)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示