C++标准库vector的基础用法总结
vector简介
vector
是C++标准模板库(STL)中的一个动态数组模板类,它可以随着元素的添加而自动增长。vector
使用连续的内存空间来存储元素,这意味着可以使用下标运算符([]
)来访问元素,就像使用数组一样高效。然而,与数组不同的是,vector
的大小是动态的,可以自动调整以适应添加的元素。
当新元素被添加到vector
中时,如果当前容量不足以容纳新元素,vector
会自动重新分配内存,通常是分配更大的内存块,并将所有原始元素复制到新的内存块中。这个过程可能会导致一些性能开销,因为需要复制元素和重新分配内存。但是,由于这个自动增长的能力,使用vector
可以避免手动管理内存和数组大小的复杂性。
vector
还提供了许多有用的成员函数,例如push_back()
(添加元素到末尾)、pop_back()
(删除末尾元素)、push_front()
(添加元素到开头)、pop_front()
(删除开头元素)、insert()
(在指定位置插入元素)和erase()
(删除指定位置的元素)等。
需要注意的是,由于vector
使用动态内存分配,因此在处理大量数据或频繁调整大小的情况下,使用vector
可能会导致内存碎片化或性能下降。在这种情况下,可以考虑使用其他容器,如deque
、list
或array
等。
简单应用
以下是一个使用vector
的简单例子:
#include <iostream>
#include <vector>
int main() {
// 创建一个空的vector
std::vector<int> vec;
// 使用push_back()添加元素
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
// 遍历vector并输出元素
for (int i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
// 使用front()和back()获取第一个和最后一个元素
std::cout << "第一个元素是: "