值传递与引用传递

ゆA 2019-04-23 10:35:42
值传递和引用传递 值传递:传递的是实际参数的一个副本,这个值可能是基本类型,也可能是引用类型的地址. 引用传递:传递的是实际参数的地址的一个副本. 在java中,只有值传递.
...全文
227 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
636f6c696e 2019-04-23
  • 打赏
  • 举报
回复
引用传递传递的是同一个对象,值传递不是
tongshou 2019-04-23
  • 打赏
  • 举报
回复
Java中一切是对象。对于对象,如果不支持引用、不支持指针,哪里还有运行效率可言!当然,为了。。。对指针、引用可以有不同称呼!
tongshou 2019-04-23
  • 打赏
  • 举报
回复

1) 在java中,有大量 ”引用“ 传递.

“引用“是“指针“的特殊形式,是不能动的指针,Java为什么不支持指针而大量使用引用?完全是为了GC机制的需要,如果支持普通指针,GC机制无法实现!有关“没有指针的好”是个大大的忽悠!

2)对于C++:
引用传递中,参数中复制了对象的地址。
传值传递中,参数中复制数据的值(可能有不同类型的值),如果该数据是对象,则会自动调用、运行构造函数(copy 构造函数),当函数运行结束,还会调用析构函数运行。

基于效率考虑,对于复杂数据,最好使用传址。
幻夢之葉 2019-04-23
  • 打赏
  • 举报
回复
引用 3 楼 jiht594 的回复:
[quote=引用 2 楼 幻夢之葉 的回复:] 谁告诉你Java只有值传递的?
java传的引用的“值”、所以是值传递。刚特意搜了一下、怪怪的感觉[/quote] 这个是什么鬼说法 跟C++的指针一样,广泛也属于引用传递,但是也会产生指针副本
jiht594 2019-04-23
  • 打赏
  • 举报
回复
引用 2 楼 幻夢之葉 的回复:
谁告诉你Java只有值传递的?

java传的引用的“值”、所以是值传递。刚特意搜了一下、怪怪的感觉
幻夢之葉 2019-04-23
  • 打赏
  • 举报
回复
谁告诉你Java只有值传递的?

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧