![]() |
1
3
你的问题与传递值无关*。你的问题是关于对象引用的。
将对象引用视为
中的值
这就像我们有一个
这个
在里面
之后
...它对
在(1)中,您将分配给
让我们按照第一个代码块进行操作,但我将使用
你的记忆中有这样的东西: +âââââââââââââââââ+ c: [Ref11325]âââ>| (Container) | +âââââââââââââââââ+ | className: null | | p: null | +âââââââââââââââââ+ +ââââââââââââââââââ+ p: [Ref21354]âââââââââââââââââââââââââââ>| (Person) | +ââââââââââââââââââ+ +ââââââââââââ+ | name: [Ref54312] |âââ>| (String) | +ââââââââââââââââââ+ +ââââââââââââ+ | "studName" | +ââââââââââââ+
(省略了许多细节;例如,字符串实际上是指
然后,当您这样做时:
你有(唯一的变化是
+âââââââââââââââââ+ c: [Ref11325]âââ>| (Container) | +âââââââââââââââââ+ | className: null | | p: [Ref21354] |ââ+ +âââââââââââââââââ+ | | \ +ââââââââââââââââââ+ p: [Ref21354]ââââââââââââââââââââââââââ+ââ>| (Person) | +ââââââââââââââââââ+ +ââââââââââââ+ | name: [Ref54312] |âââ>| (String) | +ââââââââââââââââââ+ +ââââââââââââ+ | "studName" | +ââââââââââââ+
看看怎么做
最后,当你这样做时:
+âââââââââââââââââ+ c: [Ref11325]âââ>| (Container) | +âââââââââââââââââ+ | className: null | +ââââââââââââââââââ+ | p: [Ref21354] |ââââââ>| (Person) | +âââââââââââââââââ+ +ââââââââââââââââââ+ +ââââââââââââ+ | name: [Ref54312] |âââ>| (String) | +ââââââââââââââââââ+ +ââââââââââââ+ | "studName" | +ââââââââââââ+ +âââââââââââââââââ+ p: [Ref34851]âââââââââââââââââââââââââââââ>| (Person) | +âââââââââââââââââ+ | name: null | +âââââââââââââââââ+
*“按值传递”和“按引用传递”是艺术术语,与将变量传递到函数时发生的情况有关:
在传递值中
价值
变量 |
![]() |
2
1
|
![]() |
3
0
执行此操作时:
的实例
执行此操作时:
这些变量中的“值”只是对象所在堆中的一种地址。 |
![]() |
Kris · 有没有办法获得可变结构字段的“引用” 2 年前 |
![]() |
Jora Karyan · IF语句未按预期引发错误 3 年前 |
![]() |
nedzad · 如何访问引用Firebase中其他对象的对象 6 年前 |
![]() |
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 6 年前 |