gpt4 book ai didi

julia - Julia 中不可变对象(immutable对象)的地址

转载 作者:行者123 更新时间:2023-12-05 01:04:13 25 4
gpt4 key购买 nike

this question ,展示了如何获取可变地址的内存地址

julia> a = [1, 2, 3]
3-element Array{Int64,1}:
1
2
3

julia> s=repr(UInt64(pointer_from_objref(a)))
"0x000000001214ce80"

如何获取不可变对象(immutable对象)的内存地址?

最佳答案

不可变对象(immutable对象)不一定存在于内存中(它们可能存储在寄存器中,或者根本不存在),因此您无法获取它们的地址。澄清示例:

  • “数组a = [0]在内存中的什么位置是有意义的?”这是有道理的,因为a = [ 0] 是一个特定的数组,分配一次并且必须位于内存中的特定位置,因为该数组/内存的所有观察者必须能够看到有人修改它的时间:如果有人这样做 a[1] = 1 那么有一个内存位置从保存值 0 更改为值 1

  • “整数0在内存中的什么位置是没有意义的?”它并不存在于任何特定的地方——有很多实例0 到处都是,它们都是“相同的零”,因为它们是无法区分和可互换的。没有办法将零的值更改为另一个值,只能更改某个可变容器(带有位置)所指的值。

关于julia - Julia 中不可变对象(immutable对象)的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72550351/

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