gpt4 book ai didi

crystal-lang - Crystal lang 中是否有哈希值?

转载 作者:行者123 更新时间:2023-12-04 10:33:22 25 4
gpt4 key购买 nike

在 Crystal 语言中,是否曾经在堆栈上分配过哈希?或者他们总是“堆积”?我在文档中找不到任何内容( https://crystal-lang.org/api/0.33.0/Hash.html - 于 2020 年 2 月 19 日查找)。看到不少malloc_*https://github.com/crystal-lang/crystal/blob/master/src/hash.cr ,但不确定是否有我遗漏的优化。我认为文档没有明确指出它 - 在浏览器中为 https://crystal-lang.org/api/0.33.0/Hash.html 上的“堆”、“堆栈”和“分配”做了一个词查找| ……找不到任何东西。

最佳答案

哈希总是堆分配的。

在 Crystal 中,取决于对象是否属于 Reference 类型。或 Value .从 Reference 继承的所有对象总是在堆上分配。

散列定义为 class Hash(K, V) .因为类总是继承自 Reference , 哈希值总是在堆上分配的。

值类型,如 struct Int32 ,其中堆栈分配是可取的,必须定义为结构,因此它们不继承自 Reference但来自 Value .

关于crystal-lang - Crystal lang 中是否有哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60308965/

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