std::vector的用法,删除,添加,更新成员?
在C++中,`std::vector`是一种非常灵活且常用的动态数组容器,它是STL(Standard Template Library)的一部分。下面是一些关于`std::vector`的基本使用例子:
#include
#include
// 例子1:声明并初始化一个空的vector
std::vector vec1; // 创建一个空的int类型的vector
// 例子2:声明并初始化带有初始元素的vector
std::vector vec2 {1, 2, 3, 4, 5}; // 初始化为包含5个整数的vector
// 例子3:使用大小和初始值构造vector
std::vector vec3(5, 10); // 创建一个包含5个10的vector
// 例子4:使用范围初始化(C++11及以后版本)
std::vector vec4(std::begin(vec2), std::end(vec2)); // 创建一个与vec2具有相同元素的新vector
// 例子5:添加元素
vec1.push_back(6); // 在vec1的末尾添加一个元素6
// 例子6:访问元素
int firstElement = vec2[0]; // 访问vec2的第一个元素
std::cout << "The first element is: " << firstElement << std::endl;
// 例子7:迭代器遍历
for (std::vector::iterator it = vec3.begin(); it != vec3.end(); ++it) {
std::cout << *it << ' '; // 输出vec3的所有元素
}
// C++11之后推荐使用范围for循环遍历
for (const auto &value : vec4) {
std::cout << value << ' ';
}
// 例子8:查询大小和容量
std::size_t sizeOfVec = vec1.size(); // 获取vector的当前元素数量
std::size_t capacity = vec1.capacity(); // 获取vector的当前容量
// 例子9:修改大小(可能改变容量)
vec1.resize(10); // 将vec1的大小更改为10,新增位置用默认值填充
// 例子10:清空vector
vec1.clear(); // 删除vec1中的所有元素,使其成为一个空vector
// 例子11:插入元素
vec1.insert(vec1.begin(), 0); // 在vec1的起始位置插入0
// 示例12:删除元素
vec1.erase(vec1.begin()); // 删除vec1的第一个元素
在C++中,向量(vector)是一个动态数组,除了删除和添加成员,如果你想更新vector的某个成员,你首先需要确保你知道该成员的位置(索引)。以下是一个例子:
例子13:
如果你的vector存储的是自定义类型并且你想更新对象的某个成员,假设你有一个Person类,其包含一个name成员:
class Person {
public:
std::string name;
int age;
};
std::vector people = {{"Tom", 20}, {"Jerry", 22}};
// 更新"Jerry"的年龄
people[1].age = 23; // 现在people为{{"Tom", 20}, {"Jerry", 23}}
在这个例子中,我们通过索引`1`找到"Jerry"这个人,然后更新了他的年龄成员。
以上涵盖了`std::vector`的一些基本操作,包括初始化、添加元素、访问元素、遍历元素、查询大小和容量、调整大小以及插入,删除,更新元素等。根据具体需求,还可以使用更多的成员函数来管理`std::vector`。
#记录我的2024##如何自学C++# #c++#