阅读量:0
在C++中,vector
是一种动态数组,它是标准模板库(STL)中的一部分。它可以用于存储和操作一组元素,类似于数组。与普通数组相比,vector
具有以下优势:
- 动态大小:
vector
的大小可以在运行时动态改变,而不需要预先指定数组的大小。 - 自动内存管理:
vector
会自动管理内部的内存分配和释放,避免了手动处理内存的麻烦。 - 支持多种操作:
vector
提供了许多方便的方法和函数,如插入、删除、查找等。
以下是一些常见的vector
用法示例:
- 创建
vector
对象:
#include <vector> std::vector<int> nums; // 创建一个空的int类型的vector std::vector<std::string> words(10); // 创建一个包含10个空字符串的vector std::vector<double> values = {1.0, 2.5, 3.7}; // 创建一个包含初始值的vector
- 访问和修改元素:
std::vector<int> nums = {1, 2, 3, 4, 5}; int first = nums[0]; // 访问第一个元素 int last = nums.back(); // 访问最后一个元素 nums[2] = 10; // 修改第三个元素为10 nums.push_back(6); // 在末尾添加一个元素
- 遍历
vector
中的元素:
std::vector<int> nums = {1, 2, 3, 4, 5}; // 使用下标遍历 for (int i = 0; i < nums.size(); i++) { std::cout << nums[i] << " "; } std::cout << std::endl; // 使用迭代器遍历 for (auto it = nums.begin(); it != nums.end(); it++) { std::cout << *it << " "; } std::cout << std::endl; // 使用范围for循环遍历 for (int num : nums) { std::cout << num << " "; } std::cout << std::endl;
- 插入和删除元素:
std::vector<int> nums = {1, 2, 3, 4, 5}; nums.insert(nums.begin() + 2, 10); // 在第三个位置插入10 nums.erase(nums.begin() + 4); // 删除第五个元素
这些只是vector
的一些常见用法,它还有许多其他功能和方法,如排序、查找等。详细的用法请参考C++的文档或教程。