首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
二、C++系列之引用
📅 2026/10/14 21:21:58
✍️ 爱科研究院
👁 阅读 3,247
目录1、引用是什么2、引用的相关注意点3、引用传参1、引用是什么C在C的基础上新增的概念有很多引用就是其中之一。引用说白了就是相当于给变量取个别名变量怎么用引用也怎么用变量可以通过变量名获取变量值、修改变量值、获取变量的地址引用同样也可以获取变量值修改变量值获取变量的地址。简单来说变量怎么用变量的引用就怎么用。但有一点需要注意引用不是一种新的数据类型它只是变量的别名!!!!!#include iostream using namespace std; int main() { //引用相当于给变量取别名变量怎么用引用就怎么用 int a99; int a_citea;//对变量a建立引用 cout a_cite endl;//99 可以获取变量的值 cout a endl;//99 a_cite 88; cout a_cite endl;//88 可以修改变量的值 cout a endl;//88 cout a_cite endl;//0x61feb8 可以获取变量的地址 cout a endl;//0x61feb8 return 0; }2、引用的相关注意点使用引用时注意以下几点能帮助我们更好的使用引用定义引用时必须初始化引用一旦成为一个变量的引用就不能再成为别的变量的引用当给纯数字建立引用时一定要加const修饰表示其引用的内容不可以修改给变量建立引用时如果加const修饰表示为常引用表示不能通过引用修改变量的值可以给指针变量建立引用相当于给指针变量取别名#include iostream using namespace std; int main() { /* 使用引用时注意以下几点内容能帮助我们更好的使用引用 1、定义引用时必须初始化 2、引用一旦成为一个变量的引用就不能再成为别的变量的引用 3、当给纯数字建立引用时一定要加const修饰表示其引用的内容不可以修改 4、给变量建立引用时如果加const修饰表示为常引用表示不能通过引用修改变量的值 5、可以给指针变量建立引用相当于给指针变量取别名 */ //1、定义引用时必须初始化 int num190; //int num1_cite;//报错 必须初始化 int num1_cite num1; //2、引用一旦成为一个变量的引用就不能再成为别的变量的引用 int num2100,num3200; int num2_cite num2; //int num2_cite num3;//报错 一旦变量的引用就不能再成为别人的引用 num2_cite num3;//不报错 这里不是给num3建立引用而是把num3的值赋值给了num2_cite cout num2 endl;//200 cout num2_cite endl;//200 //3、当给纯数字建立引用时一定要加const修饰表示其引用的内容不可以修改 //int cite 900;//报错 给纯数字建立引用一定要加const const int cite900; cout cite endl;//900 //4、给变量建立引用时如果加const修饰表示为常引用表示不能通过引用修改变量的值 int num4800; const int num4_cite num4;//常引用 //num4_cite 34;//报错 常引用不可以通过引用修改变量的值 但可以通过变量修改 num4 45; cout num4 endl;//45 cout num4_cite endl;//45 //5、可以给指针变量建立引用相当于给指针变量取别名 int m77; int* p m; int* p_cite p;//对指针建立引用操作引用就相当于操作指针变量本身 cout p endl;//0x61fe94 cout p_cite endl;//0x61fe94 cout *p endl;//77 cout *p_cite endl;//77 cout m endl;//77 return 0; }3、引用传参引用的应用就是用在函数传参。C中有两种函数传参方式值传递和指针传递其中指针传递在使用时比较抽象不易懂。所以在C中引入引用引用传参时在函数体通过引用修改变量的值函数体外会受到影响效果可以像指针传参那样但是操作却像变量一样简单说白了引用传参可以实现像操作变量一样达到操作指针的效果C中引用传参的效率更高。所以C中比较推荐使用引用传参函数传参的两种情况如下如果函数体内不修改变量的值可以使用值传递或const修饰的引用传递 推荐const修饰的引用传递如果函数体内需要修改变量的值可以使用指针传递或者引用传递推荐引用传递#include iostream using namespace std; void func1(int a); void func2(int a); int main() { //引用传参 int a99; cout a endl;//99 func1(a); //值传递 不改变变量的值 cout a endl;//99 int b88; cout b endl;//88 func2(b); //引用传递会修改变量的值 cout b endl;//89 return 0; } //封装一个函数 //值传递 void func1(int a) { a; } //引用传递 void func2(int a) { a; }
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/14 21:21:58
出海 B2B 销售情报落地:从信号到行动的三层工作流
2026/10/14 21:21:58
ThinkPHP6+Layui后台管理框架实践:RBAC权限设计与快速开发
2026/10/14 21:16:58
C++类和对象(下)初始化列表、类型转换、static、友元、内部类、匿名对象
2026/10/14 22:22:17
大模型生成PPT实战:从JSON结构化输出到python-pptx渲染
2026/10/14 22:22:17
Leaflet大量Marker卡顿?CanvasIconLayer渲染优化实践
2026/10/14 22:22:17
Dubbo 3.x 集成 Nacos 2.x 最小案例:服务注册发现与踩坑实录
2026/10/14 22:22:17
游戏显示器怎么选?面板、刷新率、分辨率等核心参数一次讲透
2026/10/14 22:22:17
ABAP按显示宽度截断字符串:解决中英文混排对齐问题
2026/10/14 22:17:15
Android事件分发深入解析:从点击响应到滑动冲突的治理方案
2026/10/14 0:02:01
Oracle 19c Windows客户端安装配置与连接排错指南
2026/10/14 0:02:01
React Native截图优化:解决Android兼容性问题
2026/10/14 0:02:01
金属锈蚀速率计算模型与防护方案优化实践
2026/10/13 12:25:09
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/14 18:35:19
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/14 14:52:59
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/12 19:53:23
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/11 21:41:11
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/11 23:43:10
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)