代码之家  ›  专栏  ›  技术社区  ›  Remi.b

确保“std::vector”不会移动其指针

  •  0
  • Remi.b  · 技术社区  · 9 年前

    在C++中,a std::vector<T> 基本上是一个指针( T* ),大小对象( int 整数 ).

    施工时, std::vector 创建新指针 T* 随着矢量的增长, 负责在向量增长时分配所需的内存。如果向量增长,因此没有更多空间添加元素 T 标准::矢量

    1 回复  |  直到 9 年前
        1
  •  2
  •   Jerry Coffin    9 年前

    不 std::vector 没有提供直接的方法。

    标准::矢量 通过分配器对象分配空间。如果您愿意,可以很容易地编写一个最小分配器,该分配器有一个额外的调用来禁用分配,如果在禁用分配后尝试分配,则调用中止。