c++ - 按引用调用和按值调用之间的区别

标签 c++ c

<分区>

Possible Duplicate:
Difference between value parameter and reference parameter ?

按引用调用和按值调用有什么区别?

最佳答案

在 C 中,没有引用调用。您可以获得的最接近的是获取一个地址,并传递该地址的拷贝(按值 - 见下文)。

在 C++ 中,按引用调用传递对对象(原始对象的别名)的引用。通常这将作为对象的地址来实现,但不能保证如此。

按值调用意味着获取某种值,并将该值的拷贝传递给函数。

基本区别在于,当您按值传递参数时,该函数只接收原始对象的拷贝,因此它不会对原始对象产生任何影响。通过引用传递,它获得对原始对象的引用,因此它可以访问原始对象,而不是它的拷贝——除非它是 const 引用,否则它可以修改原始对象(例如)。

关于c++ - 按引用调用和按值调用之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2278700/

相关文章:

c++ - Netbeans 代码完成搞砸了

c - 如何在 Linux 应用程序中获取有关以太网的统计信息?

c - GDB 挂起 - 不明白为什么

C++ 运行时检查失败 #2 - 变量 'theArray' 周围的堆栈已损坏

c++ - 在 C++ 中使用 T1 = unsigned T2 的奇怪结果

qsort 方法混淆错误

使用然后删除 typedef 语句后 C 链表不再工作

c - 从驱动器扩展读取扇区 (INT 13h AH=42h)

c++ - 无法识别的继承函数

c++ - 在哪个访问控制上下文中评估概念?