gpt4 book ai didi

ruby - 是否分配了 ruby​​ 结构堆栈?

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:44 24 4
gpt4 key购买 nike

ruby structs是定义轻量级数据容器的便捷方式。我的问题是它们是像普通对象一样分配在堆上还是分配在堆栈上(例如,C# 值类型)。如果它们是堆分配的,那么 ruby​​ 结构是否有任何性能优势 - 或陷阱。

最佳答案

C# 值类型不是堆栈分配的。它们有时是堆栈分配的,有时不是。当您声明值类型类型的局部值时,它们是堆栈分配的,但当您声明值类型类型的类实例字段时,它们不是堆栈分配的。

Ruby 结构是普通的 Ruby 类,结构类的实例就像任何其他类的实例一样,分配在堆上。值类型的唯一 Ruby 类型是 FalseClassTrueClassNilClassFixnumSymbol Symbol 是特殊的,因为实例也必须在符号表中全局分配,同时是值类型。

关于ruby - 是否分配了 ruby​​ 结构堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251609/

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