STL 中 vector 的内存管理

1.  vector 底层基本结构是数组,内存空间不够时会调用分配器(allocator)动态开辟双倍的内存空间。

2.  vector 中有 size 和 capacity 之分,size 相当于瓶子里有多少水,capacity则是瓶子的容积

3.  当vector调用clear函数的时候,size变为0,但是真正的内存并未释放,如果要释放掉真正的内存,可以使用swap

4.  vector有自己的析构函数,当过了生命周期之后会自动释放,一般不需要手动释放,但是当vector的成员是指向一片内存的指针的时候,这些内存

     并不会被自动释放掉,这时候就需要我们手动释放内存。






原文地址:https://www.cnblogs.com/ZhangJinkun/p/4534172.html