网站首页 > 资源文章 正文
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++#
猜你喜欢
- 2024-10-29 C++遍历vector元素的四种方式(c++ iterator遍历)
- 2024-10-29 c++vector常用操作及函数(c++ vector常用方法)
- 2024-10-29 Vector冲锋枪:极富科技感的未来军械
- 2024-10-29 绝地求生:汤姆逊或超越M4成玩家最爱?Vector居然加入空投了!
- 2024-10-29 绝地求生Vector(当对面掏出短剑的时候,你已经凉了)
- 2024-10-29 C++ Vector类型及使用(c++vector详解)
- 2024-10-29 数据安排与操作方式:vector的扩容操作
- 2024-10-29 C++中的动态内存管理:深入探讨std::vector与指针
- 2024-10-29 vector的底层是如何实现的?#代码(vector的原理)
- 2024-10-29 C++/STL源码剖析之顺序容器:vector
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)