c++面试笔记1(值传参和引用传参)

本文详细解析了在面试中常被提及的引用传参与值传参的区别,阐述了两者在内存分配和变量修改上的不同机制,强调了引用作为别名直接修改原变量值的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想说的就一个问题,在面试的时候没想起来,面试完之后又想起来了。所以我想说说这个问题。
问:引用传参和值传参的区别是什么?
我:1、引用是别名,不占用内存空间,值是要占用内存空间。2、引用会改变所引用变量的值,而值传参不会。
接着,他就顺着我问:为什么引用传参会改变所引用的值,而值传参不会,是怎么实现的?
我:引用传参是别名,修改这个值就是修改所引用的值。值的话(懵逼5秒钟),然后我就说我不知道。
面试完两分钟之后就想到了:(答案我上面也隐式的包含了),因为值传参是要分配内存的呀!也就是说,值传参是把实参的值赋给形参了(你说对另一个不相关的分配了内存地址的值进行操作跟实参<在另一个空间分配了内存的值>是半毛钱的关系都没有啊)。
*下一篇:面试笔记二(关于main和获取不重复的随机数)*https://mp.youkuaiyun.com/mdeditor/84829411#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值