static_vector是vector和array之间的混合体:与vector类似,它是一个连续存储的序列容器,它的大小可以随着静态分配,低开销和数组的固定容量而改变。 static_vector是基于Adam Wulkiewicz和Andrew Hundt的高性能varray类。
2.可以在末尾插入和移除元素;
3.可以在开始或中间插入和删除元素;
4.static_vector非常适合用于缓冲区,其他类的内部实现,或对必须存储的元素数量有固定限制的情况。嵌入式和实时应用程序的分配可能不可用或不可接受,这是static_vector可能有用的特殊情况。
static_vector中元素的数量可能会动态变化,直到达到固定容量,因为元素与数组类似地存储在对象本身中。然而,与C数组或std ::数组必须构造实例化的所有元素不同,对象被初始化为插入到static_vector中。 static_vector的行为能够在具有复杂对象生存期要求的情况下使用静态分配的元素,否则这些要求可能并不trivially。
其他一些属性:
1.对元素的随机访问;2.可以在末尾插入和移除元素;
3.可以在开始或中间插入和删除元素;
4.static_vector非常适合用于缓冲区,其他类的内部实现,或对必须存储的元素数量有固定限制的情况。嵌入式和实时应用程序的分配可能不可用或不可接受,这是static_vector可能有用的特殊情况。