网站首页 > 资源文章 正文
std::vector 是 C++ 标准模板库(STL)中的一个非常有用的容器,它提供了动态数组的功能。下面是一些 std::vector 的常用操作和函数:
1. 构造函数和初始化
std::vector<T> v;:默认构造函数,创建一个空的 vector。
std::vector<T> v(n);:创建一个包含 n 个默认初始化元素的 vector。
std::vector<T> v(n, val);:创建一个包含 n 个值为 val 的元素的 vector。
std::vector<T> v(const std::vector<T>& other);:复制构造函数。
2. 容量操作
v.size();:返回 vector 中元素的数量。
v.empty();:如果 vector 为空,则返回 true。
v.max_size();:返回 vector 可能包含的最大元素数量(这通常是一个非常大的数)。
v.resize(n);:改变 vector 的大小以包含 n 个元素。如果 n 大于当前大小,则添加额外的默认初始化元素;如果 n 小于当前大小,则删除多余的元素。
v.resize(n, val);:与上面的 resize 类似,但新添加的元素将初始化为 val。
v.capacity();:返回 vector 当前分配的空间能够容纳的元素数量。这通常大于或等于 vector 的大小,以便在添加元素时避免频繁的内存分配。
v.reserve(n);:请求 vector 至少保留容纳 n 个元素的空间。这可以避免在添加元素时频繁地重新分配内存,从而提高效率。
3. 元素访问
v[n];:通过索引访问元素(注意,索引从 0 开始,并且必须在 [0, size()) 范围内)。
v.at(n);:通过索引访问元素,但会进行边界检查。如果索引越界,将抛出 std::out_of_range 异常。
v.front();:返回对 vector 中第一个元素的引用。
v.back();:返回对 vector 中最后一个元素的引用。
4. 修改器
v.push_back(val);:在 vector 的末尾添加一个元素。
v.pop_back();:删除 vector 的最后一个元素。
v.insert(it, val);:在迭代器 it 指向的位置插入一个值为 val 的元素。
v.insert(it, n, val);:在迭代器 it 指向的位置插入 n 个值为 val 的元素。
v.insert(it, first, last);:在迭代器 it 指向的位置插入另一个容器(如另一个 vector、list 等)中从 first 到 last(不包括 last)的元素。
v.erase(it);:删除迭代器 it 指向的元素。
v.erase(first, last);:删除迭代器范围 [first, last) 内的所有元素。
v.clear();:删除 vector 中的所有元素。
v.assign(n, val);:将 vector 的内容替换为 n 个值为 val 的元素。
v.assign(first, last);:将 vector 的内容替换为从迭代器 first 到 last(不包括 last)的元素。
5. 迭代器
v.begin();:返回指向 vector 第一个元素的迭代器。
v.end();:返回指向 vector 末尾之后一个位置的迭代器(这通常用作表示 vector 结束的标记)。
v.rbegin();:返回指向 vector 最后一个元素的反向迭代器。
v.rend();:返回指向 vector 第一个元素之前的反向迭代器(这通常用作表示 vector 反向结束的标记)。
这些只是 std::vector 的一些常用操作和函数,它还有更多高级用法.
猜你喜欢
- 2024-10-29 C++遍历vector元素的四种方式(c++ iterator遍历)
- 2024-10-29 Vector冲锋枪:极富科技感的未来军械
- 2024-10-29 绝地求生:汤姆逊或超越M4成玩家最爱?Vector居然加入空投了!
- 2024-10-29 绝地求生Vector(当对面掏出短剑的时候,你已经凉了)
- 2024-10-29 std::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
你 发表评论:
欢迎- 最近发表
-
- 涨知识!电脑键盘上F1到F12的正确用法,你都会用吗?
- Win10《邮件》应用0x80070032错误:已发送邮件不同步
- 微软邮件服务系统出现大规模收发错误 预计24小时内修复
- Outlook365邮箱崩溃,备份邮箱,配置邮箱,还原数据
- Outlook服务瘫痪故障加重 微软遭遇的网络问题开始影响全球用户
- outlook邮箱报错:无法打开此文件夹集合pst文件错误
- 微软确认新版Windows Outlook支持在无互联网的情况下运行
- 用户隐私成隐忧,欧盟封锁微软 Outlook App
- 微软承认 Outlook 存在问题,会导致Exchange Online邮箱配置错误
- 如何在 Outlook 中撤回电子邮件(outlook怎么撤回邮箱)
- 标签列表
-
- 电脑显示器花屏 (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)
本文暂时没有评论,来添加一个吧(●'◡'●)