gpt4 book ai didi

Java 传值和类对象的 C++ 指针调用效果一样吗?

转载 作者:太空宇宙 更新时间:2023-11-04 13:54:30 25 4
gpt4 key购买 nike

我已经阅读了很多关于参数传递的资料。但我仍然有几个小问题要问。我了解基本类型的工作原理,现在我只关心将对象作为参数传递。

事实:

  1. Java 中的一切(原语/对象)都是按值传递
  2. 在Java中当一个对象作为参数传递时,引用变量的值被复制并传递。因此,当函数退出时,对对象的任何更改都是可见的。
  3. 在 C++ 中,参数传递可以通过三种方式完成:按值调用、按指针调用和按引用调用。
  4. 当通过指针调用将对象指针作为参数传递时,复制并传递对象(指针)的地址。变化也会反射(reflect)出来。

我的猜测:

Java的传值方式和C++的类对象的指针调用效果一样吗?我说得对吗?

最佳答案

你是对的,Java 对象引用的功能基本上与 C++ 指针相同,除了在 C++ 中你可以取消引用并实际覆盖指针指向的内存块。你不能用 Java 做到这一点。

所以 Java 对象引用就像 C++ 指针,但没有 * 运算符。 Java . 运算符仅用于成员访问,就像 C++ -> 运算符一样。

关于Java 传值和类对象的 C++ 指针调用效果一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22109223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com