当前位置: 首页 > news >正文

C++(20):vector通过erase,erase_if删除符合条件的元素

C++20前,vector可以通过成员函数erase删除迭代器指定的元素,并返回被删除的下一个元素:

iterator erase( iterator pos );
iterator erase( iterator first, iterator last );

 1.删除单个元素

#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;void pData(auto& data)
{for(auto& i : data){cout<<i<<" ";}cout<<endl;cout<<"size:"<<data.size()<<" capacity:"<<data.capacity()<<endl;
}int main()
{vector<int> data{ 1, 2, 3, 4, 5, 6, 7, 8};pData(data);for(auto it=data.begin(); it!=data.end();){if(*it % 2 == 0){it = data.erase(it);}else{it++;}}pData(data);return 0;
}

运行程序输出:

http://www.lryc.cn/news/279192.html

相关文章:

  • 树莓派ubuntu:新增用户
  • C //练习 5-14 修改排序程序,使它能处理-r标记。该标记表明,以逆序(递减)方式排序。要保证-r和-n能够组合在一起使用。
  • CAN总线报文格式———标准数据帧
  • DFT中的SCAN、BIST、ATPG基本概念
  • 掌握 Vue 响应式系统,让数据驱动视图(下)
  • apache、nginx、php 隐藏版本号
  • sqoop的安装与使用
  • 【docker】Docker Stack 详细使用及注意事项
  • Android开发基础(四)
  • HTML5+CSS3+JS小实例:音频可视化
  • 【写作】短篇《相遇与相守》
  • 2024年最新软件测试面试题
  • instanceof、对象类型转化、static关键字
  • 学习笔记-python文件基本操作
  • 【Scala】——流程控制
  • imgaug库指南(20):从入门到精通的【图像增强】之旅
  • 最新AI绘画Midjourney绘画提示词Prompt大全
  • 编写一个简单的服务和客户端(C++)
  • InseRF: 文字驱动的神经3D场景中的生成对象插入
  • 类厂,变长参数,序列化
  • LLK的2023年度总结
  • Redis-浅谈redis.conf配置文件
  • 【liunx】线程池+单例模式+STL,智能指针和线程安全+其他常见的各种锁+读者写者问题
  • Golang的API项目快速开始
  • 机器学习_实战框架
  • Java8常用新特性
  • Go语言中的Channel
  • Unity中URP下实现深度贴花
  • openssl3.2 - 官方demo学习 - cipher - aesccm.c
  • 点云从入门到精通技术详解100篇-基于多传感器融合的智能汽车 环境感知(下)