追加不起作用,按引用传递的原因是因为在按引用传递的情况下,函数接收的是实参的内存地址,而不是实参的值。当我们在函数内部对传入的参数进行修改时,实际上是修改了该内存地址对应的值,而不是实参本身。
这种情况下,如果我们尝试在函数内部追加一个新的元素到传入的参数中,由于传入的参数是按引用传递的,函数内部的操作会直接修改实参所指向的内存地址中的值,从而实现了追加的效果。但是如果我们尝试直接给传入的参数赋值一个新的对象或者数组,这时实际上是修改了函数内部的局部变量,而不会影响到实参本身。
总结起来,追加不起作用,按引用传递是因为函数内部对传入的参数进行的修改操作会直接影响到实参所指向的内存地址中的值,但是直接给传入的参数赋值一个新的对象或者数组时,只是修改了函数内部的局部变量,不会影响到实参本身。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云