一、vector
1.vector会分配一些额外的存储空间,以适应可能的增长,容量要大于元素个数。
2.size_type max_size() const {} //返回可容纳的最大元素个数
size_type clear() {} //仅清除元素,未清除空间。
void shrink_to_fit() {} //当不清除数量clear()时,调用此函数缩小内存,shrink_to_fit会将容量调整与元素个数相等。
3.插入:
vec.insert(it, 23); //在第一个元素位置插入23
vec.insert(it, 10, 23); //在第一个元素位置插入10个23
vec.insert(it, ar, ar+n) //算头不算尾,可以插入整个数组
vec.insert(it, {1,2,3,4,5,6}) //插入一个列表元素
4.删除:
it = vec.begin();
vec.erase(it); //删除首元素
vec.erase(it, it+5); //连续删除
5.vec.reserve(100);
reserver函数用来给vector预分配存储区大小,即capacity的值,但是没有给这段内存进行初始化。reserve的参数n是推荐预分配内存的大小,实际分配的可能等于或大于这个值。
当调用函数时,n的值如果大于capacity的值,就会重新分配内存,使得capacity的值会大于n。这样,当调用push_ back函数便得size超过