如题,对方是c++的,我Java。
我说都是传递的数据存放的地址,被对方鄙视了。
问对方有什么不对,这理解在开发过程会有什么问题,那边也只说没理解会影响编码正确性。
问:我的有什么不对,这么理解开发过程会有什么问题???
我的是自己的理解,希望你的回答也是基于自己的理解(c++ Java)
值传递:传递的只是一个值,不是地址,在之后的操作中,形参不会影响实参;
引用传递:直接引用原值,传的是地址
这是我的理解!
java其实都是值传递,只不过基本数据类型值是在栈里,引用数据类型是变量名(也就是地址)在栈里,而具体的对象内容在堆里。基本数据类型传递直接传值,改变也不影响原来的。,引用传的栈里的地址,地址本身改变不会影响原来的,但是地址指向在堆里的数据如果被改变,就会改变原来的数据。
抛开堆里内容只看存在栈里的地址,其实和基本类型一样。但是 变量名字+属性,就是实实在在存在堆里的内容了。
你也强烈鄙视回去,一群连地址都不知道的可怜虫
值传递是a把值传给了b,b修改了值对a没有影响(基本数据类型的方法传参是值传递)
引用传递是a把对象地址传递给了b了,a和b都指向同一个对象地址,b修改了值a的值也变了
这两个是不一样的
值传递就是传递过去的时变量的值,引用传递的时地址,你改了地址指向的数据,那么所有指向这个地址的数据,都会跟着变得