vector中元素连续存储,容器必须分配新的内存空间,将已有元素从旧位置分配到新的空间中,然后添加新元素,释放就存储空间,复杂度会很大。
1) c.reverse(n): 分配至少能容纳n个元素的内存。
只有当需要的内存空间超过当前容量时,reserve调用才会改变vector的容量,reserve改变capacity
当需求小于或等于当前容量:reserve什么也不做。
2) c.capacity():不重新分配内存空间的话,c最多可以保存多少元素。
3)resize()只改变容器中元素的数目(size),而不是容器的容量,但不改变capacity 没法释放vector的内存,多删少补并初始化,需要默认初始化的,则需要参数类型有默认构造函数。
resize(100)会将其大小改为100个元素的大小,添加新元素并初始化,