C++ vector 容器简介
vector 是 C++ 标准库中的一个序列容器,它封装了动态大小数组的实现。vector 可以存储任意类型的元素,并且能够根据需要动态地调整大小。它支持在序列的末尾高效地添加或删除元素。
包含头文件
在使用 vector 之前,需要包含头文件 <vector>。
#include <vector>
创建 vector
创建 vector 的基本语法如下:
std::vector<元素类型> 变量名;
或者在创建时初始化:
std::vector<int> vec = {1, 2, 3, 4, 5};
访问元素
可以通过下标操作符 [] 访问 vector 中的元素:
int value = vec[2]; // 访问第三个元素
或者使用 at() 方法,它在访问越界时会抛出异常:
int value = vec.at(2); // 访问第三个元素
添加元素
可以使用 push_back() 方法在 vector 的末尾添加元素:
vec.push_back(6);
也可以使用 emplace_back() 方法,它直接在容器中构造元素:
vec.emplace_back(7); // 使用初始化列表构造
删除元素
可以使用 pop_back() 方法删除 vector 最后一个元素:
vec.pop_back();
或者使用 erase() 方法删除指定位置的元素:
vec.erase(vec.begin() + 2); // 删除第三个元素
遍历 vector
可以使用迭代器遍历 vector:
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
或者使用范围基的 for 循环(C++11 引入):
for (int val : vec) {
std::cout << val << " ";
}
容量和大小
size()方法返回vector中元素的数量。capacity()方法返回vector能够容纳的元素数量而无需重新分配内存。
std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;
清空 vector
可以使用 clear() 方法清空 vector:
vec.clear();
其他常用方法
resize():改变vector的大小。empty():检查vector是否为空。front()和back():分别访问第一个和最后一个元素。
示例代码
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 添加元素
vec.push_back(6);
vec.emplace_back(7);
// 删除元素
vec.pop_back();
vec.erase(vec.begin() + 1);
// 遍历
for (int val : vec) {
std::cout << val << " ";
}
std::cout << std::endl;
// 容量和大小
std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;
return 0;
}
这个示例展示了 vector 的一些基本操作,包括创建、添加、删除元素,以及遍历和获取容量和大小。vector 是 C++ 中非常强大和灵活的容器,适用于需要动态数组的场景。
10万+

被折叠的 条评论
为什么被折叠?



