vector的STL操作

vector 是 C++ 标准模板库(STL)中实现的动态数组,它能够存储连续的元素,这些元素可以通过索引访问。与数组相比,vector 的大小可以动态变化,提供了许多便利的成员函数来管理其存储的元素。下面是 vector 的一些基本操作:

引入头文件

使用 vector 前,需要包含其头文件:

#include <vector>

创建 vector

创建一个 vector 容器:

std::vector<int> v; // 创建一个空的int类型vector

添加元素

  • 在末尾添加元素:

    v.push_back(10);
    

访问元素

  • 访问第一个元素:

    int first = v.front();
    
  • 访问最后一个元素:

    int last = v.back();
    
  • 通过索引访问元素(与数组相似):

    int element = v[0]; // 访问第一个元素
    

删除元素

  • 删除末尾元素:

    v.pop_back();
    

大小和容量

  • 检查 vector 是否为空:

    bool isEmpty = v.empty();
    
  • 获取 vector 的元素数量:

    size_t size = v.size();
    
  • 改变 vector 的大小:

    v.resize(new_size);
    
  • 获取 vector 的容量:

    size_t capacity = v.capacity();
    
  • 请求改变 vector 的容量:

    v.reserve(new_capacity);
    

修改元素

  • 使用 [] 运算符或 .at() 方法:

    v[0] = 20;
    v.at(1) = 30;
    

迭代器

vector 支持迭代器,可以用来遍历容器中的元素:

for (auto it = v.begin(); it != v.end(); ++it) {std::cout << *it << ' ';
}

清空 vector

清除 vector 中的所有元素:

v.clear();

其他操作

  • 在指定位置插入元素:

    v.insert(v.begin() + position, value);
    
  • 删除指定位置的元素:

    v.erase(v.begin() + position);
    

vector 提供了一个灵活、高效的方式来存储和操作连续数据,非常适合用于需要频繁访问元素的场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个用libcurl多线程下载断言错误问题的排查

某数据下载程序&#xff0c;相同版本的代码&#xff0c;在64位系统中运行正常&#xff0c;但在32位系统中概率性出现断言错误。一旦出现&#xff0c;程序无法正常继续&#xff0c;即使重启亦不行。从年前会上领导提出要追到根&#xff0c;跟到底&#xff0c;到年后的今天&#…

通过统一规划和团队整合,提升企业财务洞察

在当今快节奏的商业环境中&#xff0c;企业财务职能部门更应该采取更迅速的行动来适应这个社会。大部分企业期待更高效的战略决策&#xff0c;尤其是面临海量数据信息的堆叠。但是企业领导者应该知道&#xff0c;速度本身并不是最终目标&#xff0c;财务团队必须更快地完成工作…

AI辅助研发2024

2024 年 AI 辅助研发趋势 随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计&#xff0c;从软件开发到材料科学&#xff0c;AI正逐渐渗透到研发的各个环节&#xff0c;变革着传统的研发模式。在这一背景下&a…

基于springboot的大学生智能消费记账系统的设计与实现(程序+数据库+文档)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

六种方式,教你在SpringBoot初始化时搞点事情!

前言 在实际工作中总是需要在项目启动时做一些初始化的操作&#xff0c;比如初始化线程池、提前加载好加密证书....... 那么经典问题来了&#xff0c;这也是面试官经常会问到的一个问题&#xff1a;有哪些手段在Spring Boot 项目启动的时候做一些事情&#xff1f; 方法有很多…

2.1基本算法之枚举7827:质数的和与积

两个质数的和是S&#xff0c;它们的积最大是多少&#xff1f; #include<bits/stdc.h>//万能头 using namespace std;//不用说 int fun(int n){//创建一个自定义的函数&#xff0c;方便之后判断质数 int asqrt(n);//平方根&#xff0c;让电脑轻松一点 for(int i2…

0 OpenHarmony开源鸿蒙NEXT星河版内核嵌入式编程

开源鸿蒙NEXT星河版内核嵌入式编程 作者将狼才鲸创建日期2024-03-08 CSDN文章阅读地址Gitee文章下载地址 一、前景提要 2024年1月18日&#xff0c;华为放出HarmonyOS NEXT 鸿蒙星河版开发者预览版本&#xff08;不是HarmonyOS NEXT版&#xff0c;是HarmonyOS NEXT星河版&…

Remote host closed connection during handshake

问题原因&#xff1a; HTTPS通过TSLv1和TSLv1.2协议通信 JDK7默认是TSLv1&#xff0c;JDK8默认是TSLv1.2 假如服务端是TSLv1.2&#xff0c;客户端是TSLv1&#xff0c;访问就会出现 Remote host closed connection during handshake 异常 解决方法 方法一&#xff…

字符串库函数

字符串库函数 使用字符串函数需要#include<cstring>字符串函数都根据\0来判断字符串结尾形参为char[]类型&#xff0c;则实参可以是char数组或字符串常量 字符串拷贝 strcpy(char [ ] dest,char [ ] src);//拷贝src到dest 字符串比较大小 int strcmp(char [ ] s1,ch…

如何系统的学习python编程

学习Python编程需要有一个系统的方法。这里有一些简单的步骤&#xff1a; 从基础开始&#xff1a;首先&#xff0c;要明白计算机编程的基本概念&#xff0c;比如变量、条件语句、循环等。然后学习Python的基础语法&#xff0c;就像学习任何一门新语言一样。 选择好资源&#x…

火爆新品推荐!AI大模型应用和ai 数字人开发!

火爆新品来袭&#xff01;AI大模型应用和AI数字人开发成为当下科技界的热点话题。随着人工智能技术的不断发展&#xff0c;AI大模型应用已经开始在各个领域大放异彩。从医疗诊断到金融风控&#xff0c;从自然语言处理到智能推荐&#xff0c;AI大模型的应用场景愈发广泛&#xf…

java如何学习

要高效学习Java&#xff0c;可遵循以下步骤&#xff1a; 1. 掌握基础知识&#xff1a;熟悉Java语法、数据类型、运算符、控制流程等。 2. 学习面向对象&#xff1a;理解封装、继承、多态等概念&#xff0c;掌握类、对象、接口的使用。 3. 深入学习Java核心类库&#xff1a;学习…

PyCharm 显示无法加载文件 D:\...,因为在此系统上禁止运行脚本。

PyCharm 显示无法加载文件 D:…&#xff0c;因为在此系统上禁止运行脚本。 PyCharm 显示 无法加载文件 D:\python test\AI_CV\venv\Scripts\activate.ps1&#xff0c;因为在此系统上禁止运行脚本。 解决方法&#xff1a; winx点击Windows PowerShell&#xff08;管理员&#…

基于yolov5的SAR舰船检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示&#xff1a; 基于yolov5的SAR舰船检测系统&#xff0c;系统既能够实现图像检测&#xff0c;也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov5的SAR舰船检测系统是在pytorch框架下实现的&#xff0c;这是一个完整的项目&…

爬虫实战——巴黎圣母院新闻【内附超详细教程,你上你也行】

文章目录 发现宝藏一、 目标二、简单分析网页1. 寻找所有新闻2. 分析模块、版面和文章 三、爬取新闻1. 爬取模块2. 爬取版面3. 爬取文章 四、完整代码五、效果展示 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不…

【python爬虫】免费爬取网易云音乐完整教程(附带源码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属专栏:爬虫实战,零基础、进阶教学 景天的主页:景天科技苑 文章目录 网易云逆向网易云逆向 https://music.163.com/ 下载云音乐 胡广生等,可以选择自己喜欢的歌曲 首先,我们可以先根据…

动态线程池的简单实现思路

什么是动态线程池&#xff1f; 在线程池日常实践中我们常常会遇到以下问题&#xff1a; 代码中创建了一个线程池却不知道核心参数设置多少比较合适。 参数设置好后&#xff0c;上线发现需要调整&#xff0c;改代码重启服务非常麻烦。 线程池相对于开发人员来说是个黑箱&#x…

使用Pytorch导出自定义ONNX算子

在实际部署模型时有时可能会遇到想用的算子无法导出onnx&#xff0c;但实际部署的框架是支持该算子的。此时可以通过自定义onnx算子的方式导出onnx模型&#xff08;注&#xff1a;自定义onnx算子导出onnx模型后是无法使用onnxruntime推理的&#xff09;。下面给出个具体应用中的…

100个网络基础知识普及

目录 1、什么是链接&#xff1f; 2、OSI 参考模型的层次是什么&#xff1f; 3、什么是骨干网&#xff1f; 4、什么是 LAN&#xff1f; 5、什么是节点&#xff1f; 6、什么是路由器&#xff1f; 7、什么是点对点链接&#xff1f; 8、什么是匿名 FTP&#xff1f; 9、什么…

机器学习中的线性代数

基础知识的的复习: 线性代数——深度学习花书第二章 - 知乎 矩阵分解 特征值分解。 PCA(Principal Component Analysis)分解,作用:降维、压缩。 SVD(Singular Value Decomposition)分解,也叫奇异值分解。 矩阵分解的主要应用是:降维、聚类分析、数据预处理、低维度特征学…