- Learning Rust
- Paul Johnson Vesa Kaihlavirta
- 145字
- 2021-07-02 23:07:26
Let's consider the heap
As already discussed, the heap is typically used for complex types. The stack frame model can still be used, but it will need modifying, as the stack will need to point to the base address of the complex type on the heap.
Let's construct a stack frame for the following piece of code:
fn main() { let f = 42; let my_ids: Vec<i64> = Vec::with_capacity(5); }

Space is allocated correctly for f, but my_ids is different; it is a Vector<i64> with pre-allocated space for five i64s values. While the vector itself is stored in the stack, its contents are allocated in the heap.
Values in the heap are considered to be more persistent than those in the stack. That means, unlike values in the stack, their lifetime does not have to be as short as the block's they were defined in.
推薦閱讀
- Vue.js 3.x快速入門
- 流量的秘密:Google Analytics網站分析與優化技巧(第2版)
- iOS面試一戰到底
- Spring Boot開發與測試實戰
- HTML5 移動Web開發從入門到精通(微課精編版)
- Java游戲服務器架構實戰
- Mastering OpenCV 4
- Python Data Structures and Algorithms
- AIRIOT物聯網平臺開發框架應用與實戰
- Learning PHP 7
- 細說Python編程:從入門到科學計算
- Java圖像處理:基于OpenCV與JVM
- uni-app跨平臺開發與應用從入門到實踐
- OpenMP核心技術指南
- 超簡單:用Python讓Excel飛起來(實戰150例)