参考资料对比

问题描述 投票:0回答:1

当我尝试比较两个 refs 时,他们的行为让我感到困惑,根据我在使用“r1 = r2”时的理解,我正在比较两个 refs 的内容,如果我做“r1 == r2”,我正在比较这些地址两个参考。但是当我运行下面的代码时,r1和r2都指向了v,但是为什么它们的地址不一样呢?应该如何检查两个引用是否指向同一个对象?

reference ocaml
1个回答
0
投票

==
运算符比较两个值的“物理相等性”。实际上,它确实是您正在比较的值的地址。如果您比较两个引用
r1 == r2
,您是在比较引用的地址,而不是引用中的地址。由于
r1
r2
不是同一个引用,因此它们具有不同的地址。因此,他们不使用
==
.

进行比较
© www.soinside.com 2019 - 2024. All rights reserved.