当前位置: 首页 > news >正文

8、引用

8.1 引用的基本使用

给变量取别名

int a=10;
int &b=a;
  • 引用必须要初始化,即int &b;错误
  • 引用一旦初始化,就不可以更改了,不能使得b变为其他的变量的别名
    int &b=a;相当于int* const b=&a;
int a=10;
int &b=a;
int c=20;
b=c;// 这样不是更改操作,而是赋值操作,即将a位置内存中存储的数据从10修改为20,而不是使得b指向c

8.2 引用做函数参数

函数参数传递:

  • 值传递
  • 地址传递
  • 引用传递:可以直接修改实参
int swap(int &a,int &b){}

8.2 引用做函数的返回值

和指针类似,不要返回局部引用变量返回值,因为局部变量在函数结束后会被释放

8.3 常量引用

和在函数中使用const同样的,防止函数修改数据

void show(const int &a){}

补充:

int &ref=10;// 错误
const &ref=10;// 可以

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【机器学习】CNN在计算机视觉中的应用
  • PowerShell脚本编写:自动化Windows开发工作流程
  • Python(PyTorch)物理变化可微分神经算法
  • 北京博科测试
  • Java并发编程12
  • es 7.17.23安装ik插件启动失败,access denied,Permission
  • uniapp开发微信小程序调用微信支付
  • 宠物空气净化器吸猫毛有用吗?希喂、美的、霍尼韦尔三款亲测分享
  • C++类和对象(3)——this指针
  • Redis中的缓存穿透、缓存击穿、缓存雪崩(面试版)
  • matlab 创建复数数组
  • SQL典型练习题
  • 云渲染解决:笔记本渲染很伤电脑吗?如何保护你的电脑?
  • 【计算机组成原理】2.2.6 数据的存储和排列
  • Linux Ubuntu 桌面环境概览
  • javascript数组去重/查找/插入/删除
  • KMP算法及优化
  • Vue2 SSR 的优化之旅
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • webgl (原生)基础入门指南【一】
  • 百度小程序遇到的问题
  • 从零搭建Koa2 Server
  • 基于游标的分页接口实现
  • 记录一下第一次使用npm
  • 排序算法之--选择排序
  • ionic异常记录
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #Linux(帮助手册)
  • $.each()与$(selector).each()
  • (3)STL算法之搜索
  • (3)选择元素——(17)练习(Exercises)
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (LeetCode 49)Anagrams
  • (Qt) 默认QtWidget应用包含什么?
  • (笔记)M1使用hombrew安装qemu
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十三)MipMap
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .Family_物联网
  • .htaccess配置常用技巧
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET C# 操作Neo4j图数据库
  • .NET gRPC 和RESTful简单对比
  • .NET MVC第三章、三种传值方式
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .NET成年了,然后呢?
  • .net快速开发框架源码分享
  • /var/log/cvslog 太大
  • @GlobalLock注解作用与原理解析
  • @Query中countQuery的介绍