【C++】vector
目录
vector
1. vector的成员函数
1.1 构造、析构和赋值运算符重载
1.1.1 构造函数
1.1.2 析构函数
1.1.3 赋值运算符重载
1.2 迭代器
1.3 容量
1.4 元素访问
1.4.1 遍历方法
1.5 修改器
1.6 配置器
2. vector的非成员函数
vector
1. vector的成员函数
1.1 构造、析构和赋值运算符重载
1.1.1 构造函数
| default | explicit vector(const allocator_type& alloc = allocator_type()); | 默认构造 |
| fill | explicit vector(size_type n, const value_type& val = value_type(), const allocator_type& alloc = allocator_type()); | 用n个val来构造 |
| range | template <class InputIterator> vector(InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type()); | 用迭代器区间构造 |
| copy | vector(const vector& x); | 拷贝构造 |
#include <iostream>
#include <vector>
#include <string>using namespace std;int main()
{vector<int> v1;//defaultfor (size_t i = 0; i < v1.size(); ++i){cout << v1[i] << " ";}cout << endl;//空vector<int> v2(10, 1);//fillfor (size_t i = 0; i < v2.size(); ++i){cout << v2[i] << " ";}cout << endl;//1 1 1 1 1 1 1 1 1 1string s("hello world");vector<char> v3(s.begin() + 3, --s.end());//rangefor (size_t i = 0; i < v3.size(); ++i){cout << v3[i] << " ";}cout << endl;//l o w o r lvector<char> v4(v3);//copyfor (size_t i = 0; i < v4.size(); ++i){cout << v4[i] << " ";}cout << endl;//l o w o r lreturn 0;
}
1.1.2 析构函数
| ~vector(); | 销毁vector类对象 |
1.1.3 赋值运算符重载
| copy | vector& operator= (const vector& x); |
1.2 迭代器
begin&end rbegin&rend cbegin&cend crbegin&crend
与string的迭代器类似,详见【C++】string的成员函数、成员常量和非成员函数_秋秋晗晗的博客-CSDN博客中1.2 迭代器
1.3 容量
size max_size resize capacity empty reserve shrink_to_fit
与string的容器类似,详见【C++】string的成员函数、成员常量和非成员函数_秋秋晗晗的博客-CSDN博客中1.3 容器
1.4 元素访问
operator[] at front back data
与string的元素访问类似,详见【C++】string的成员函数、成员常量和非成员函数_秋秋晗晗的博客-CSDN博客中1.4 元素访问
1.4.1 遍历方法
与string的遍历方法类似,详见【C++】string的成员函数、成员常量和非成员函数_秋秋晗晗的博客-CSDN博客中1.4.1 遍历方法
1.5 修改器
assign push_back pop_back insert erase swap clear emplace emplace_back
与string的修改器类似,详见【C++】string的成员函数、成员常量和非成员函数_秋秋晗晗的博客-CSDN博客中1.5 修改器
1.6 配置器
| get_allocator | allocator_type get_allocator() const; | 返回配置器 |
2. vector的非成员函数
| relational operators | template <class T, class Alloc> bool operator== (const vector<T, Alloc>& lhs, const vector<T, Alloc>& rhs); template <class T, class Alloc> bool operator!= (const vector<T, Alloc>& lhs, const vector<T, Alloc>& rhs); template <class T, class Alloc> bool operator< (const vector<T, Alloc>& lhs, const vector<T, Alloc>& rhs); template <class T, class Alloc> bool operator<= (const vector<T, Alloc>& lhs, const vector<T, Alloc>& rhs); template <class T, class Alloc> bool operator> (const vector<T, Alloc>& lhs, const vector<T, Alloc>& rhs); template <class T, class Alloc> bool operator>= (const vector<T, Alloc>& lhs, const vector<T, Alloc>& rhs); | 关系运算符重载 |
| swap | template <class T, class Alloc> void swap(vector<T, Alloc>& x, vector<T, Alloc>& y); | 交换vector的内容 |
相关文章:
【C++】vector
目录 vector 1. vector的成员函数 1.1 构造、析构和赋值运算符重载 1.1.1 构造函数 1.1.2 析构函数 1.1.3 赋值运算符重载 1.2 迭代器 1.3 容量 1.4 元素访问 1.4.1 遍历方法 1.5 修改器 1.6 配置器 2. vector的非成员函数 vector 1. vector的成员函数 1.1 构造…...
RocketMQ安装
RocketMQ安装 安装前准备 1.RocketMQ是使用Java语言编写的所以在安装该MQ前需要Java环境。 2.准备好RocketMQ RocketMQ运行版本下载地址: https://www.apache.org/dyn/closer.cgi?pathrocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip RocketMQ源码版…...
Spring——什么是IOC?
一、原则高内聚、低耦合二、什么是IOC?控制反转,把对象创建和对象之间的调用过程,交给spring进行管理三、使用IOC的目的是什么?降低耦合(谁和谁的耦合??如何降低的?)原来…...
力扣(LeetCode)430. 扁平化多级双向链表(2023.03.04)
你会得到一个双链表,其中包含的节点有一个下一个指针、一个前一个指针和一个额外的 子指针 。这个子指针可能指向一个单独的双向链表,也包含这些特殊的节点。这些子列表可以有一个或多个自己的子列表,以此类推,以生成如下面的示例…...
条款13:优先考虑const_iterator而非iterator
STL const_iterator等价于指向常量的指针(pointer-to-const)。它们都指向不能被修改的值。标准实践是能加上const就加上,这也指示我们需要一个迭代器时只要没必要修改迭代器指向的值,就应当使用const_iterator。 上面的说法对C11…...
23考研 长安大学846计算机考研复试《数据库》
长安大学846计算机考研,复试历年真题《数据库》。 目录: (1)数据库复习 (2)专业面试 (3)2017-2020年历年复试题 (4)复试的一些心得 数据库复习: 刚开始复试的时候,先把教材学习一遍(《数据库系统概念》 王珊 第五版),课后习题自己做一遍,网上有卖这本书的 配套…...
Android 9.0 系统去掉省电模式
1.概述 在9.0的系统rom开发定制化工作中,在系统中系统设置里面省电模式的选择中,有智能省电模式 省电模式 和超级省电模式三种 由于对rom系统做了大量定制功能开发,所以会在进入省电模式的时候 会出现某些不必要的问题,由于产品开发需求, 就要求去掉省电模式 不让平板进入…...
3 mmmmm
全部 答对 答错 单选题 7. 项目经理通知敏捷团队成员,由于意外的个人问题,产品负责人将不能参加即将到来的冲刺审查。这种情况下最可能的结果是什么? A project manager informs the agile team members that, due to unexpected personal …...
nvidia Jetson nano Linux内核编译
今天编译了nvidia 的jetson nano的内核。在网上找到的资料都比较老了。现在官网的最新版本是35.1.结合之前看到的博客的内容。关键是内核源码和交叉编译器的下载。找到官方文档后,编译成功!并且官方的文档是有一个编译脚本的。看之前的资料都是给出的命令,不知道这个nvbuild…...
理想汽车2023年销量冲击30万辆有戏吗?
出品 | 何玺 排版 | 叶媛 2月27日理想汽车发布财报,数据表明,2022年理想营收和销量双双大涨。在财报会议上,理想汽车CEO李想表示, 2023年的销量预期为30万辆。 那么,理想汽车2023年销量冲击30万辆的目标能实现吗&…...
借助CatGPT让turtlesim小乌龟画曲线
注意这里是CatGPT,不等同OpenAI的ChatGPT,但是用起来十分方便,效果也还行。详细说明ROS机器人turtlesim绘制曲线需要注意哪些ROS机器人turtlesim绘制曲线需要注意以下几点:绘制曲线前需要设置好turtlesim的初始位置和方向…...
Java面试总结(四)
synchroize的实例、静态、代码块的锁对象 修饰实例方法 修饰静态方法 修饰代码块 1、修饰实例方法 (锁当前对象实例) 给当前对象实例加锁,进入同步代码前要获得 当前对象实例的锁 。 synchronized void method() {//业务代码 }2、修饰静…...
强强联合,再强的英伟达NVIDIA也不落俗套
强强联合,全球科技领域永恒的话题【科技明说 | 每日看点】前些天,我看到GPU领域的英伟达(Nvidia)与微软(Microsoft)做了一项十年期的云计算协议,起初我以为微软Microsoft Azure与英伟达GPU方面有所合作,其实不然&#…...
maven使用心得
maven 配置文件默认在 ~/.m2/settings.xml maven命令行 mvn clean install -Dmaven.test.skiptrue -s ~/.m2/settings.xml 往本地仓库加jar包 命令形如: mvn install:install-file -DgroupIdcom.lee.net -DartifactIdMyToolIdl -Dversion1.0.0-SNAPSHOT -Dpac…...
【算法题】1958. 检查操作是否合法
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个下标从 0 开始的 8 x 8 网…...
十一、GoF之代理模式
1 对代理模式的理解 【在程序中,对象A和对象B无法直接交互时。】 【在程序中,功能需要增强时。】 【在程序中,目标需要被保护时】 业务场景:系统中有A、B、C三个模块,使用这些模块的前提是需要用户登录,也…...
MySQL5.6和JVM(1.6)调优
MySQL5.6调优 目标了解什么是优化掌握优化查询的方法掌握优化数据库结构的方法掌握优化MySQL服务器的方法什么是优化?合理安排资源、调整系统参数使MySQL运行更快、更节省资源。<...
【汇编】三、寄存器(一只 Assember 的成长史)
嗨~你好呀! 我是一名初二学生,热爱计算机,码龄两年。最近开始学习汇编,希望通过 Blog 的形式记录下自己的学习过程,也和更多人分享。 上篇系列文章链接:【汇编】二、预备知识(一只 Assember 的…...
TFT通信协议解析与应用
TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,常用于在本地网络上的设备之间传输小型文件。 通信大致过程 TFTP通信过程如下: TFTP通信双方建立连接:TFTP客户端与TFTP服务器建立连接。TFTP服务器监…...
python 操作word库docx 增强接口
前言用python 的docx 库操作word完成一些自动化的文档生成工作,但有时候会遇到docx库提供的操作无法直接满足业务上的需求,需要对其进行一些扩展。接口完善实现在指定的文字后面插入指定的文字任务:以下示例需要在文档中的所有 "人生苦短…...
开源项目配置管理:ComfyUI-Manager路径优化与跨环境部署指南
开源项目配置管理:ComfyUI-Manager路径优化与跨环境部署指南 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various…...
手把手教你用smarteye免费搭建GB28181监控平台(支持海康/大华/NVR接入)
零代码搭建GB28181监控平台:兼容海康/大华/NVR的智能方案 在数字化转型浪潮下,视频监控系统已成为企业安全防护和运营管理的重要基础设施。然而,传统监控方案常面临设备品牌混杂、协议不统一的痛点,导致系统集成困难、维护成本居…...
Halcon拼图算子tile_images_offset实战:从图像裁切到精准拼接
1. 认识tile_images_offset算子 第一次接触Halcon的tile_images_offset算子时,我正面临一个棘手的工业检测项目。客户需要将多个摄像头拍摄的电路板局部图像拼接成完整视图,传统手动拼接方式效率低下且误差大。这个算子就像及时雨,完美解决了…...
P3C代码规范检查:风险驱动架构下的动态治理策略
P3C代码规范检查:风险驱动架构下的动态治理策略 【免费下载链接】p3c Alibaba Java Coding Guidelines pmd implements and IDE plugin 项目地址: https://gitcode.com/gh_mirrors/p3/p3c 在数字化转型浪潮中,企业级Java应用面临代码质量与开发效…...
如何用CodeMaker将Java/Scala开发效率提升300%?5个核心技巧带你掌握智能代码生成
如何用CodeMaker将Java/Scala开发效率提升300%?5个核心技巧带你掌握智能代码生成 【免费下载链接】CodeMaker A idea-plugin for Java/Scala, support custom code template. 项目地址: https://gitcode.com/gh_mirrors/co/CodeMaker 作为Java/Scala开发者&a…...
从零到集群:基于Rocky Linux ARM64的虚拟化平台构建与自动化部署实战
1. 环境准备与基础配置 第一次接触ARM64架构的虚拟化平台搭建时,我踩过不少坑。不同于常见的x86环境,Rocky Linux ARM64在驱动支持和软件生态上有其特殊性。我们先从最基础的物理服务器配置说起。 假设你面前是一台刚拆封的ARM架构服务器,我…...
自动化智能体生成+外接MCP,我用 ModelEngine Nexent 5分钟手搓了一个小红书爆款收割机
前言:别让“工作流”困住了你的想象力 在 AI Agent 爆发的这一年,作为开发者,我们采用过“工作流(Workflow)”开发,提示词开发。 最近体验了 ModelEngine Nexent,它打出的 Slogan 是 “Your n…...
农业AI实践:OpenClaw+Qwen2.5-VL-7B识别病虫害图片
农业AI实践:OpenClawQwen2.5-VL-7B识别病虫害图片 1. 为什么选择OpenClaw做农业病虫害识别? 去年夏天,我在自家后院种植的番茄突然出现叶片发黄、边缘卷曲的现象。作为非专业农户,我翻遍植物病理学资料仍无法确诊,直…...
如何快速打造现代化Windows提示界面:ModernFlyouts终极指南
如何快速打造现代化Windows提示界面:ModernFlyouts终极指南 【免费下载链接】ModernFlyouts A modern Fluent Design replacement for the old Metro themed flyouts present in Windows. 项目地址: https://gitcode.com/gh_mirrors/mo/ModernFlyouts 你是否…...
AI专著写作工具深度剖析,从构思到完稿全程高效助力
创新是学术专著的核心所在,也是写作过程中的一大挑战。一本优秀的专著不仅应当仅仅是以往研究成果的简单集合,而是要提出贯穿整本书的全新观点、理论框架或研究方法。在庞大的学术文献中,发现未被充分研究的空白并不容易——有时是因为选题被…...
