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

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.

主站蜘蛛池模板: 娄烦县| 萝北县| 郸城县| 兴隆县| 伊春市| 曲阳县| 青海省| 刚察县| 车险| 荃湾区| 淅川县| 竹山县| 淮南市| 安泽县| 五指山市| 怀化市| 和龙市| 乌拉特前旗| 开原市| 丰台区| 涪陵区| 四川省| 克东县| 宕昌县| 武宁县| 屏东市| 丰城市| 广汉市| 饶阳县| 永春县| 西藏| 远安县| 宜良县| 南宫市| 綦江县| 囊谦县| 辛集市| 新密市| 大英县| 永德县| 健康|