#创作计划#如何熟练vector动态数组
2025-07-08 08:40:45
发布于:浙江
在C++中,std::vector
是一个动态数组,它是标准模板库(STL)中的一个容器类,定义在 <vector> 头文件中。与普通数组相比,std::vector
可以在运行时动态改变大小,提供了更灵活的内存管理和方便的操作接口。以下是关于std::vector
的详细介绍:
1. 基本使用
包含头文件
在使用 std::vector
之前,需要包含 <vector> 头文件:
#include <vector>
定义和初始化
可以使用不同的方式来定义和初始化 std::vector:
#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 = {1, 2, 3, 4, 5};
return 0;
}
2. 常用操作
访问元素
可以使用下标运算符 [] 或 at() 方法来访问std::vector
中的元素:
#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;
return 0;
}
添加元素
可以使用 push_back() 方法在 std::vector 的末尾添加元素:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
// 添加元素
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
删除元素
可以使用 pop_back() 方法删除 std::vector 的最后一个元素:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除最后一个元素
vec.pop_back();
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
获取大小
可以使用 size() 方法获取 std::vector 中元素的数量:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << "Size of vector: " << vec.size() << std::endl;
return 0;
}
3. 遍历 std::vector
使用传统的 for 循环
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
使用范围 for 循环
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int element : vec) {
std::cout << element << " ";
}
std::cout << std::endl;
return 0;
}
使用迭代器
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
4. 优点
动态大小: 可以在运行时动态调整大小,无需手动管理内存。
方便的操作: 提供了丰富的成员函数,如添加、删除、访问元素等。
全部评论 6
怎么我最近看到的每个写创作计划的代码都不是自己写的
1周前 来自 浙江
2woc,贴主还给我点赞了,怎么想的,这是默认了自己用 AI 吗?有点意思
1周前 来自 浙江
1https://blog.csdn.net/wkq0825/article/details/82255984
1周前 来自 浙江
1你仔细看一下这个https://blog.csdn.net/wkq0825/article/details/82255984
1周前 来自 浙江
1
我也要给你点赞!
1周前 来自 河北
2谢谢哈
1周前 来自 浙江
1
依旧码风逆天
1周前 来自 浙江
1666
1周前 来自 浙江
0666
1周前 来自 浙江
0666
1周前 来自 浙江
0
有帮助,赞一个