vector 原理可视化

动手实现之前,先在这里把 vector 的行为看一遍:容量怎么变、元素放在哪、data / end / cap 三个指针怎么动。看明白之后,自己把代码写出来。

内存视图 尚未初始化
先点击右侧的 vector_init 分配一块内存。之后每点一个操作,都留意上方三个指针和灰色区域的变化。
已构造元素 [0, size) 已分配未使用 [size, capacity) 旧的已 free 内存块 越界 / 非法访问
操作记录
    操作
    初始化 / 释放
    init cap
    尾部插入 / 删除
    value
    容量
    reserve n
    随机访问
    index / value
    本页为教学示意:内存地址是抽象出来的,realloc 统一按「搬到新地址」演示,以突出指针失效这一现象。真实实现中它也可能原地扩展。