C++ Vector对象相关总结
什么是Vector?
Vector是C++标准库中的一个动态数组容器,可自动管理其大小(即内存分配和释放),支持快速随机访问。
动态数组顾名思义就是可以动态增长的数组。和普通数组不同之处在于,普通数组在定义时需要明确指定数组大小,而动态数组则可以在运行时根据需要改变大小。
Vector的使用方法
首先需要包含
1.定义和初始化
vector<int> nums; // 创建空的vector对象
vector<int> nums(10); // 创建10个元素的vector对象,每个元素初始化为0
vector<int> nums(10, 1);// 创建10个元素的vector对象,每个元素初始化为1
vector<int> nums{1, 2, 3, 4, 5}; // 创建5个元素的vector对象,初始化为1, 2, 3, 4, 5
2.元素访问
vector<int> nums{1, 2, 3, 4, 5};
cout << nums[2] << endl; // 访问vector的第3个元素,输出:3
cout << nums.at(2) << endl; // 同上,输出:3
// 遍历vector的所有元素
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
cout << endl;
3.元素操作
vector<int> nums{1, 2, 3, 4, 5};
// 在vector末尾添加一个元素
nums.push_back(6); // nums: 1 2 3 4 5 6
// 在第2个位置插入元素7
nums.insert(nums.begin() + 1, 7); // nums: 1 7 2 3 4 5 6
// 删除第3个元素
nums.erase(nums.begin() + 2); // nums: 1 7 3 4 5 6
// 获取vector的大小
cout << nums.size() << endl; // 输出:6
vector与数组的比较
vector的优点
- 支持动态内存分配和释放,可以随时扩展或缩小容量;
- 提供快速随机访问,可以像数组一样使用下标操作元素;
- 提供多种操作方法,如插入和删除等,方便修改容器中的元素;
- 具有异常安全保证,即除非程序显式退出,否则不会出现调用vector方法时发生的异常而导致程序崩溃的情况。
数组的优点
- 占用更少的内存空间,可以根据所需的大小手动分配内存,更适合对内存空间有限的嵌入式系统等场合;
- 数组操作更加简单直观,只需要知道数组长度和下标就可以访问、更新元素。
示例说明
示例1:求vector的和
下面是一个使用vector的求和例子。
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> nums{1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < nums.size(); i++) {
sum += nums[i];
}
cout << "vector的和为:" << sum << endl;
return 0;
}
输出结果:
vector的和为:15
示例2:向vector插入元素
下面是一个向vector插入元素的例子。
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> nums{1, 2, 3, 4, 5};
nums.insert(nums.begin() + 2, 6); // 在第3个位置插入元素6
cout << "vector的大小为:" << nums.size() << endl;
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
输出结果:
vector的大小为:6
1 2 6 3 4 5
以上就是关于C++ Vector对象相关总结的内容,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++ vector对象相关总结 - Python技术站