当我们进行函数调用的时候, 为函数所提供的实参, 可以是常量, 也可以是变量, 甚至可以是其他函数的返回值, 但这些实参的形式都称之为表达式, 求值就是对表达式化简并求解值的过程....求值策略关注的点在于, 表达式在调用函数的过程中, 求值的实际, 值的形式的选取等问题. 求值的时机, 可以在函数调用之前, 也可以在函数调用之后, 由被调用者自己求值....) 调用前 原值(原始对象, 不生成副本)
名传递(pass by name) 调用后(用到后求值) 与值无关的一个名
值传递与引用传递的区别
我们重点看一下值传递和引用传递的区别, 首先是二者在行为表象上的区别...:
- 值传递 引用传递
根本区别 会创建副本 不创建副本
所以 函数中无法改变原始对象 函数中可以改变原始对象
这里所说的改变, 是指把一个变量指向另一个对象, 而不是仅仅改变属性或者成员....如果把所有东西都抽象成值, 从数据考虑问题, 那就根本没有必要来引入求值策略这一概念了.
同2.