加载中...
| 类别 | 编程概念 |
| 领域 | 软件开发 |
值传递与引用传递描述了函数调用时实参如何传入形参。值传递会把实参的副本交给函数,函数内对参数的修改不影响原变量;引用传递则让形参成为实参的别名,函数内的修改会直接反映到原变量上。
在值传递中,传入的是数据的拷贝,二者相互独立。在引用传递中,传入的是对原对象的间接访问,函数与调用方操作的是同一份数据。需要特别注意的是,当传递的对象本身是引用类型时,即便采用值传递,复制的也只是引用,函数仍可能改变所指向对象的内部状态,但无法改变调用方持有的引用本身。
理解这一区别对编写正确代码至关重要:
不同语言的默认策略各异,有的一律值传递,有的对对象采用共享引用。明确所用语言的传递语义,是避免参数相关错误的基础。
| 类别 | 编程概念 |
| 领域 | 软件开发 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧