C++ vector的常用方法:增 删 查 访问 容器大小

发布时间:2025-04-29      访问量:62
在 C++ 中,`std::vector` 是一个非常常用的容器,它是一个动态数组,可以在运行时改变大小。以下是 `std::vector` 的一些常用方法及其使用示例:

1. 包含头文件
在使用 `std::vector` 之前,需要包含 `<vector>` 头文件:
cpp #include <vector>

2. 定义和初始化
cpp #include <iostream> #include <vector> int main() { // 定义一个空的 vector std::vector<int> vec1; // 定义一个包含 5 个元素,每个元素初始值为 0 的 vector std::vector<int> vec2(5); // 定义一个包含 3 个元素,每个元素初始值为 10 的 vector std::vector<int> vec3(3, 10); // 使用另一个 vector 初始化 std::vector<int> vec4(vec3); // 使用初始化列表初始化 std::vector<int> vec5 = {1, 2, 3, 4, 5}; return 0; }

3. 元素访问
cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用下标访问元素 std::cout << "Element at index 2: " << vec[2] << std::endl; // 使用 at() 方法访问元素,会进行边界检查 std::cout << "Element at index 3: " << vec.at(3) << std::endl; // 访问第一个元素 std::cout << "First element: " << vec.front() << std::endl; // 访问最后一个元素 std::cout << "Last element: " << vec.back() << std::endl; return 0; }

4. 修改元素
cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 修改指定位置的元素 vec[2] = 10; // 在末尾添加元素 vec.push_back(6); // 删除末尾元素 vec.pop_back(); return 0; }

5. 获取容器大小
cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 获取当前元素个数 std::cout << "Size of vector: " << vec.size() << std::endl; // 获取容器的容量 std::cout << "Capacity of vector: " << vec.capacity() << std::endl; // 判断容器是否为空 std::cout << "Is vector empty? " << (vec.empty() ? "Yes" : "No") << std::endl; return 0; }

6. 插入和删除元素
cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 在指定位置插入元素 auto it = vec.begin() + 2; vec.insert(it, 10); // 删除指定位置的元素 it = vec.begin() + 3; vec.erase(it); return 0; }

7. 清空容器
cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 清空容器 vec.clear(); return 0; }

这些是 `std::vector` 的一些常用方法,通过这些方法可以方便地对动态数组进行操作。
堆内存
多线程
strdup
初始化器
冒泡排序
增删改查
BufferedReader
输入输出
面向对象
生命周期
闭包的概念
原型链
Flask
mysql-connector-python
单例模式
浅拷贝
隔离级别
索引
InnoDB
左连接
聚合函数
PuTTY
TRUNCATE
str_starts_with_many
DateTime
array_combine
闭包的概念