gpt4 book ai didi

java - ‘value semantics’ 和 ‘pointer semantics’ 是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 22:18:23 26 4
gpt4 key购买 nike

什么是“值语义”,什么是“隐式指针语义”?

最佳答案

Java 对对象类型使用隐式指针语义,对基元使用值语义。

值语义意味着您直接处理值并传递拷贝。这里的重点是,当您拥有值(value)时,您可以相信它不会在您背后改变。

使用指针语义,您没有值,只有“地址”。其他人可以改变那里的东西,你不知道。

C++ 中的指针语义:

void foo(Bar * b) ...
... b->bar() ...

你需要一个 * 来请求指针语义和 -> 调用指针上的方法。

Java 中的隐式指针语义:

void foo(Bar b) ...
... b.bar() ...

由于您无法选择使用值语义,因此不需要 * 也不需要区分 -> 和 .,因此是隐含的。

关于java - ‘value semantics’ 和 ‘pointer semantics’ 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/166033/

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