官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 济阳县| 石柱| 东明县| 阳新县| 孟津县| 济南市| 吉林省| 沽源县| 孟连| 庆云县| 邵武市| 辉南县| 通渭县| 梧州市| 顺昌县| 靖远县| 龙门县| 东丰县| 噶尔县| 渑池县| 泸溪县| 偏关县| 始兴县| 泰来县| 小金县| 兴海县| 太仓市| 遂平县| 左贡县| 霍林郭勒市| 襄汾县| 慈溪市| 青岛市| 渝北区| 龙川县| 梨树县| 邯郸县| 延吉市| 阜宁县| 哈尔滨市| 福建省|