学习笔记:引用
创始人
2024-03-03 15:08:42
0

概念

引用的作用是给一个变量起别名

格式: type & 别名= 原名

引用必须初始化,在初始化后不能改变
int &b;b=a;错误 
int& b = a; b=c;不是将b从a的别名变为c的别名
而是将c的值赋给a 

int a = 10;
int& b = a;
b = 20;//用别名改数据,原名也会改变
//引用相当于一个指针
cout << a << endl;

a的值为20

引用作函数参数

简化指针修饰实参

函数交换数据 必须用地址传递

void myswap1(int& a, int& b)//用引用
{int tep = a;a = b;b = tep;
}
void myswap2(int *a, int *b)//用指针
{int tep = *a;*a = *b;*b = tep;
}int main(void) {//引用作函数参数int a = 3, b = 5;myswap1(a, b);cout << a << endl << b;
}

指针和引用都能做到形参修饰实参,因为形参操作的是实参的内存

引用可以理解为指针常量:能修改地址的数据但是不能改变指向

引用作函数返回值 

不要返回局部变量 的引用

局部变量存于栈区,离开局部,栈区内存释放

 

 

这样前两次输出10,test02()=1000后输出1000

因为函数返回的是a的引用,修改引用的值就相当于修改原数据的值

test02()=1000相当于a=1000 

返回引用的函数可以作为左值

引用的本质

引用可以理解为指针常量:能修改地址的数据但是不能改变指向 

int a=10;  int &ref=a;编译器自动转化为 int * const ref=a; 

ref=20;  发现是引用,自动转化为 *ref=20;

常量引用

 

 

 这样打印出a=10

 这样使用实参a的值也会被修改为1000

如果在形参前加入const val 就不能再被修改,防止因修改形参误该实参 

const使其变为只读

上一篇:66 - C++中的类型识别

下一篇:flink学习

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...