std::vector和vector
时间: 2024-09-07 11:03:22 浏览: 76
std::vector类模板
`std::vector`是C++标准库中的一个动态数组容器,它属于STL(Standard Template Library,标准模板库)的一部分。`std::vector`是一个动态大小的数组,可以在运行时自动调整容量,提供元素的增删操作,以及方便的随机访问功能。
与普通的数组相比,`std::vector`的主要优点包括:
1. **动态扩容**:当向容器添加元素超出当前容量时,会自动分配新的内存空间,并将原有数据复制过去,避免了频繁地手动扩容或缩容。
2. **范围迭代**:可以使用`begin()`和`end()`函数获取元素的起始和结束迭代器,支持简单的for循环遍历。
3. **容量管理**:`size()`用于获取元素个数,`reserve()`可以预分配内存空间,提高效率。
4. **安全机制**:如果试图访问越界的位置,不会导致程序崩溃,而是抛出异常。
创建`std::vector`的基本语法如下:
```cpp
std::vector<T> vec; // 创建空的vector
std::vector<T> vec(size); // 初始化指定长度的vector
std::vector<T> vec(array, size); // 使用数组初始化
```
阅读全文