C++ – 容器(container)的erase()函数

C++ – 容器(container)的erase()函数

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

容器(container)的erase()函数


本文地址: http://blog.csdn.net/caroline_wendy/article/details/23996013


容器(container)erase()函数, 是删除一个元素, 会移动迭代器的指针, 指向下一个元素;

迭代器(iterator)是一种指针, 赋值是传递的地址, 指向同样的元素;


代码:

/*
 * test.cpp
 *
 *  Created on: 2014.04.18
 *      Author: Spike
 */

/*eclipse cdt, gcc 4.8.1*/

#include <iostream>
#include <vector>

using namespace std;

int main() {
	std::vector<int> vi = {1, 6, 6, 3};
	std::vector<int>::iterator iter1;
	std::vector<int>::iterator iter2;

	//少删除了一个6
	for (iter1 = vi.begin(); iter1 != vi.end(); ++iter1) {
		if (6 == *iter1) {
			iter2 = iter1;
			vi.erase(iter2);
			//--iter1;
		}
	}

	std::cout << "vector size is : " << vi.size() << std::endl;
	for (iter1 = vi.begin(); iter1 != vi.end(); ++iter1) {
		std::cout << *iter1 << " ";
	}
	std::cout << std::endl;

	return 0;
}


输出:

vector size is : 3
1 6 3 


C++ - 容器(container)的erase()函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118731.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python使用蒙特卡洛树(MCTS)算法实现黑白棋miniAlphaGo for Reversi[通俗易懂]

    python使用蒙特卡洛树(MCTS)算法实现黑白棋miniAlphaGo for Reversi[通俗易懂]黑白棋(reversi),也叫苹果棋,翻转棋,是一个经典的策略性游戏。一般棋子双面为黑白两色,故称“黑白棋”。因为行棋之时将对方棋子翻转,变为己方棋子,故又称“翻转棋”。棋子双面为红、绿色的成为“苹果棋”。它使用8*8的棋盘,由两人执黑子和白子轮流下棋,最后子多方为胜。规则:(1)黑方先行,双方交替下棋。(2)一步合法的棋步包含:在一个空格新落下一个棋子,并且反转对手一个或多个棋子。(3)新落下的棋子与棋盘上已有的同色棋子间,对方被夹住的所有棋子都要反转过来。可以横着夹,竖着夹,斜着夹。夹住的

    2022年6月18日
    38
  • mybatiscodehelperpro2.8.3激活码_navicat premium激活

    mybatiscodehelperpro2.8.3激活码_navicat premium激活目录一、前言二、安装插件MyBatisCodeHelperPro插件三、激活一、前言在开发中编写生成bean,mapper,mapper.xml即费时也费力,可以通过MyBatisCodeHelperPro自动生成bean,dao,mapper.xml等文件,然后根据自己的需要进行修改。MyBatisCodeHelperPro是IDEA下的一个插件,类似于mybatisplugin,但是是收费的,但可以进行激活使用:下面这个大佬的个人主页上有多个版本的下载链…

    2022年9月21日
    2
  • 单应性矩阵的理解及求解3「建议收藏」

    http://www.sohu.com/a/223594989_100007727前面文章《从零开始学习「张氏相机标定法」(一)成像几何模型》中我们已经得到了像素坐标系和世界坐标系下的坐标映射关系:其中,u、v表示像素坐标系中的坐标,s表示尺度因子,fx、fy、u0、v0、γ(由于制造误差产生的两个坐标轴偏斜参数,通常很小)表示5个相机内参,R,t表示相机外参,Xw、Yw、Zw(假设标…

    2022年4月18日
    92
  • Oracle数据恢复顾问(Data Recovery Advisor)「建议收藏」

    Oracle数据恢复顾问(Data Recovery Advisor)「建议收藏」Oracle数据恢复顾问用于当数据发生错误或故障时,进行自动收集数据故障信息,并生成恢复脚本,用于完成数据恢复。数据恢复顾问也可以主动检查故障。在这种模式下,它可以在数据库进程发现数据损坏并发出错误之前进行潜在的检测并分析数据故障。数据故障可能非常严重。例如,如果您当前的日志文件丢失,则无法启动你的数据库。。。。。

    2022年7月17日
    16
  • 缺陷报告总结_缺陷报告要素

    缺陷报告总结_缺陷报告要素缺陷的分类严重程度:严重一般、次要、轻微、优先级:立即解决、高级优先、正常排队、低优先级种类:界面、功能、安全、兼容、性能阶段:需求、架构、设计、编码、测试缺陷报告核心要素(8)缺陷编号缺陷标题缺陷状态重现步骤严重程度优先级缺陷类型测试环境缺陷八种状态:新建、指派、打开、修复、拒绝、延期、关闭、重新打开。…

    2022年9月17日
    5
  • 进程调度算法设计_三种调度算法

    进程调度算法设计_三种调度算法【实验目的】进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不…

    2022年9月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号