在 C++ 中函数调用的时候,
- 值传递: 一般是将源数据复制一份然后 重新操作,变量内存地址都不一样。
- 引用传递:这点比较特殊 传递的还是原来变量,只是变量的别名而已,函数内部修改会直接导致外部改变。
- 指针传递: 获取到函数外部对象的指针(也就是地址),然后函数里面会根据地址去操作地址下对象的值。
Java中也类似结论如下(具体讲解):
- 在Java里面,当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响,就是值传递。
- 在Java里面,当调用方法时,如果传入的数值为非基本数据类型比如对象(String类型除外),传入的是该对象的地址,然后将该对 象的地址复制给形参,然后操作形参的时候会影响实参,但是切记也是值传递 不过传递的是对象地址。
1. 按值传递(深拷贝 一个一