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

C++ 中的引用参数(Reference Parameter)‌

【引用参数】
在 C++ 中,‌
引用参数(Reference Parameter)‌是一种特殊的参数传递方式,它允许函数直接操作调用者传递的原变量,而不是操作原变量的副本。引用参数相当于给原变量起了一个别名(alias),操作引用就是操作原变量。
在 C++ 中,‌
原变量‌(Original Variable)是指被引用参数(Reference Parameter)直接绑定的、调用者传递给函数的实参

【引用参数的特点】‌
(1)别名机制‌:引用是变量的别名,
操作引用就是操作原变量
(2)避免拷贝‌:
传递引用不会创建副本,适合传递大型对象(如结构体、类对象)。
(3)直接修改原变量‌:函数内对引用参数的修改会同步到原变量。
(4)语法简洁‌:相比指针,引用更安全、更易读。

【引用参数的使用场景】‌
(1)
需要函数直接修改调用者传递的原变量(如 swap、sort)。
‌(2)避免拷贝大对象‌(如传递 std::vector、std::string)。
(3)实现链式调用‌。

【引用参数 vs 普通参数】
(一)引用参数:函数调用时,引用参数是原变量的别名,与原变量共享同一内存地址。函数内部对引用参数的修改会同步到原变量。

#include <bits/stdc++.h>
using namespace std;void ex(int &a,int &b) {int t=a;a=b;b=t;
}int main() {int x,y;cin>>x>>y;ex(x,y);cout<<x<<" "<<y;return 0;
}/*
in:2 6
out:6 2
*/

(二)普通参数:函数调用时,实参的值会被复制‌给形参,两者占用不同的内存地址。函数内部对形参的修改仅限于副本‌,不影响原变量。

#include <bits/stdc++.h>
using namespace std;void ex(int a,int b) {int t=a;a=b;b=t;
}int main() {int x,y;cin>>x>>y;ex(x,y);cout<<x<<" "<<y;return 0;
}/*
in:2 6
out:2 6
*/





 

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

相关文章:

  • 数据结构第2章绪论 (竟成)
  • JavaWeb:SpringBoot Bean管理
  • 豆瓣电视剧数据工程实践:从爬虫到智能存储的技术演进(含完整代码)
  • 墨水屏 函数Paint_SetScale的详解
  • 【公式】MathType,axmath公式批量统一大小
  • MMDetection3D最全源码安装教程
  • Python打卡训练营day31-文件拆分
  • 【深度学习-Day 17】神经网络的心脏:反向传播算法全解析
  • 【工具变量】上市公司企业未来主业业绩数据集(2000-2023年)
  • 内存管理(第五、六章)
  • RV1126的RGA模块讲解
  • 7.Java String类深度解析:从不可变魔法到性能优化实战
  • 【电机控制】基于STM32F103C8T6的四轮智能车设计——直流有刷有感PID控制(硬件篇)
  • Java基础知识回顾
  • CLion-2025 嵌入式开发调试环境详细搭建
  • Mysql 中的锁
  • 2025京麒CTF挑战赛 计算器 WriteUP
  • 2024 CKA模拟系统制作 | Step-By-Step | 5、题目搭建-查看Pod CPU资源使用量
  • 滑动窗口算法:高效处理数组与字符串子序列问题的利器
  • (九)PMSM驱动控制学习---无感控制之高阶滑膜观测器
  • 61580 RT控制
  • SCI与EI期刊分区及影响因子汇总
  • 超越UniAD!百度哈工大X-Driver:基于视觉语言模型的可解释自动驾驶
  • 多线程的基础知识以及应用
  • 校园二手交易系统
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月25日第88弹
  • 法律大模型之阿里云通义法睿
  • DataX的json配置文件,{},[]讲解
  • 华硕FL8000U加装16G+32G=48G内存条
  • 英语六级-阅读篇