kik*_*ito 3 stack heap-memory rust
Box<>Rust Book 上是这样解释的:
...允许您将数据存储在堆上而不是堆栈上。保留在堆栈上的是指向堆数据的指针。
通过这样的描述,我希望所描述的对象被调用Heap<>或者其他东西(也许?)。相反,我们使用.HeapDerefHeapBox
为什么Box选择这个名字?
首先,Heap堆是一个非常重载的术语,重要的是,堆是一种抽象数据结构,通常用于实现优先级队列等功能。调用一个Heap不是堆的类型会非常令人困惑,这是避免这种情况的一个很好的理由。
其次,“盒子”与“装箱”或“装箱”对象的概念相关,在强烈区分值类型和引用类型的语言中,例如 Java 或 Javascript:https: //en.wikipedia.org/wiki/Object_type_ (object -oriented_programming),其中“装箱”类型是值类型的堆分配版本,例如 java 中的 int/Integer 或 Javascript 中的 number/Number。
RustBox执行的操作在本质上是相似的。Box最初还有一个内置的“提升”运算符box(它仍然是一个内部操作,最初计划稳定以用于放置新的),因为这样的“盒子”/“装箱”在语言上以“堆”/“方式有意义”堆”确实没有(因为“堆”暗示很多东西被放在堆上)。
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |