引用类型的概述

1.引用类型是C++中拓展出的新类型,在C语言中不存在
2.引用类型与指针不完全相同,但又做了很多指针才能做的事情

引用类型的用法

1.引用类型是一个别名,用于给变量起别名
2.引用类型的定义格式
类型名&变量名
3.引用类型不能为空或未赋值,必须在定义时初始化

引用类型的示例

1.基本类型的引用类型示例
int x;
int&ref=x;
2.自定义类型的引用类型示例(用 . 访问成员)
struct Base {
int x;
};
Base b;
b.x=10;
Base& ref =b;
3.指针类型的引用类型示例
int x;
int* p= &x;
int& ref =*p;
4.数组的引用类型示例
int arr[5] = {1, 2, 3, 4, 5};
int(&ref)[5]=arr;

引用类型的实现原理

1.引用类型底层实现为指针,通过反汇编可以观察到
2.引用类型的汇编代码与指针一模一样
3.引用类型在使用上是对象的别名,但底层实现为指针

引用类型与指针的区别

1.引用类型在赋值时与指针相似,但运算时有所不同
2.指针可以对自身进行运算,而引用类型不能
3.引用类型代表的是它所指向的对象,不能代表自身

引用类型在函数参数传递中的应用

1.引用类型作为函数参数时,传递的是变量的地址
2.函数内部对引用类型的操作实际上是对其指向的对象的操作
3.通过引用类型可以避免大量数据的复制,提高效率

常引用的应用

1.常引用用于限制对对象的修改,确保数据的安全性
2.常引用的定义方式:const类型名&ref=obj;
3.常引用可以确保函数内部不会修改传入的参数,避免了潜在的风险

更多推荐