mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2025-02-23 04:32:16 +08:00
fix ch15
This commit is contained in:
parent
6917991764
commit
167fd47530
@ -11,7 +11,7 @@
|
||||
* 当有大量数据并希望在确保数据不被拷贝的情况下转移所有权的时候
|
||||
* 当希望拥有一个值并只关心它的类型是否实现了特定 trait 而不是其具体类型的时候
|
||||
|
||||
我们会在 [“box 允许创建递归类型”](#enabling-recursive-types-with-boxes) 部分展示第一种场景。在第二种情况中,转移大量数据的所有权可能会花费很长的时间,因为数据在栈上进行了拷贝。为了改善这种情况下的性能,可以通过 box 将这些数据储存在堆上。接着,只有少量的指针数据在栈上被拷贝。第三种情况被称为 **trait 对象**(_trait object_),第十七章刚好有一整个部分 [“box 允许创建递归类型”](#enabling-recursive-types-with-boxes) 专门讲解这个主题。所以这里所学的内容会在第十七章再次用上!
|
||||
我们会在 [“box 允许创建递归类型”](#box-允许创建递归类型) 部分展示第一种场景。在第二种情况中,转移大量数据的所有权可能会花费很长的时间,因为数据在栈上进行了拷贝。为了改善这种情况下的性能,可以通过 box 将这些数据储存在堆上。接着,只有少量的指针数据在栈上被拷贝。第三种情况被称为 **trait 对象**(_trait object_),第十七章刚好有一整个部分 [“顾及不同类型值的 trait 对象”][trait-objects] 专门讲解这个主题。所以这里所学的内容会在第十七章再次用上!
|
||||
|
||||
### 使用 `Box<T>` 在堆上储存数据
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user