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

C++核心编程--2 引用

  • 引用就是给变量起别名,操作引用就等于操作原始变量。

2.1 引用基本用法

int var = 10;
int & r_var = var;

2.2 注意事项

  1. 声明时必须初始化
  2. 不允许更改引用指向的原始变量

2.3 引用作为函数参数传递

  • 简化指针修饰函数参数

2.4 引用作为函数返回值

  1. 不要返回局部变量的引用,因为函数结束后原始局部变量被系统自动释放了
  2. 可以用于返回静态局部变量的引用
  3. 函数调用可以作为左值
int & func()
{static int var = 10;return var;
}
​
int main()
{func() = 1000;  // 将静态局部变量var赋值为1000system("pause");return 0;
}

2.5 引用的本质

  • 在C++内部实现了一个指针常量-->指针的指向不能更改
int var = 10;
// 下面语句:
int & r_var = var;
// 被C++内部自动转化为:
int * const r_var = &var; // r_var是指针常量

2.6 常量引用

  • 修饰函数形参,用于防止函数内部改变引用变量
void func(const int & printVal)
{std::cout << printVal << std::endl;
}
​
int main()
{int var = 10;int & r_var = var;func(r_var); // r_var在func函数内部不允许被修改
}

http://www.xdnf.cn/news/470845.html

相关文章:

  • 5月15日星期四今日早报简报微语报早读
  • IEEE出版|连续多年稳定检索|第三届信号处理与智能计算国际学术会议(SPIC2025)
  • 开源模型应用落地-模型上下文协议(MCP)-Resources-资源的使用逻辑
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月15日第78弹
  • ubuntu系统 usb网卡rtl8852bu驱动安装
  • CSS- 1.1 css选择器
  • LeetCode 235. 二叉搜索树的最近公共祖先 LeetCode 701.二叉搜索树中的插入操作 LeetCode 450.删除二叉搜索树中的节点
  • C++核心编程--1 内存分区模型
  • QT6 源(99)篇三,行输入框QLineEdit:信号与槽函数的学习与举例,以及附上源码
  • vue3:十三、分类管理-表格--行内按钮---行删除、批量删除实现功能实现
  • 多智能体Multi-Agent应用实战与原理分析
  • 车载诊断进阶篇 --- 车载诊断概念
  • 在批处理脚本中添加注释有什么作用
  • RabbitMQ最新入门教程
  • CoreDNS 的无状态设计与动态数据源
  • ssh快速连接服务器终端配置
  • 在你窗外闪耀的星星--一维前缀和
  • 第三十节:直方图处理-直方图比较
  • EtherCAT转EtherNet/IP解决方案-泗博网关CEI-382
  • 【Linux】基于虚拟机实现网络的管理
  • MSPM0--Timer(一口一口喂版)
  • 力扣-49.字母异位词分组
  • 缓存的相关内容
  • 搭建Centos环境安装禅道
  • 彻底解决sublime text4无法打开install package界面安装插件问题
  • 【匹配】Smith-Waterman
  • VMware虚拟机桥接模式无法联网的终极排查指南
  • 奇变偶不变,符号看象限
  • 博途软件直接寻址AMS348i读取位置值详解
  • 前馈神经网络回归(ANN Regression)从原理到实战