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()函数

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java interface有多个implement的情况下,@Inject调用实现类的选择

    java interface有多个implement的情况下,@Inject调用实现类的选择javainterface有多个implement的情况下,@Inject调用实现类的选择

    2022年10月19日
  • python创意turtle作品-Python创意编程200例turtle篇

    简介:Python是一种高阶计算机语言。它更接近自然语言,学习成本低,开发效率高。如今越来越多的中小学生都在开始学习Python了。我们可以预见,全民会Python的日子不久就会到来,各行各业的人未来都能用Python解决各自领域的问题或创造出独特魅力的作品。在Python的普及过程中,海龟模块(turtle)将会功不可没。它来源于上个世纪60年代的logo计算机语言,就是通过指挥一只小海龟移动…

  • [BIM]BIM中IFD介绍[通俗易懂]

    [BIM]BIM中IFD介绍[通俗易懂]第三大支柱IFD-确定交换的信息和你要的信息是同一个东西 IFD的全称是InternationalFrameworkforDictionaries,中文可以叫“国际字典框架”,和前两者IFC/IDM一样,作为BIM用户,能记住IFD的名字和记住IFD是字典就行了。  用BIM创建和管理信息,通过IFC和IDM实现信息在不同项目成员和不同软件产品之间的交换,从而使BIM价值最大化。…

    2022年10月22日
  • JLINK V9项目启动【jlink接口定义】【开启VCOM(虚拟串口)功能】「建议收藏」

    JLINK V9项目启动【jlink接口定义】【开启VCOM(虚拟串口)功能】「建议收藏」jlink接口定义摘录于:https://blog.csdn.net/u014124220/article/details/50829713仿真器端口 连接目标板 备注 1.VCC MCU电源VCC VCC 2.VCC MCU电源VCC VCC 3.TRST TRST Tes…

  • spring循环依赖为什么不是二级缓存_有效循环血量不依赖

    spring循环依赖为什么不是二级缓存_有效循环血量不依赖前置知识:所谓的三级缓存只是三个可以当作是全局变量的Map,Spring的源码中大量使用了这种先将数据放入容器中等使用结束再销毁的代码风格Spring的初始化过程大致有四步我们说的循环依赖就是第四步在给Bean属性注入的时候发生的一个问题循环依赖就是:假设有两个类A和B,A中需要注入B,B中需要注入A由于A注入B时B没有创建,B创建时A也无法创建导致的死循环问题我们都知道AOP是Spring的一个重要核心思想,其实现就是根据动态代理来实现的,也就是说我们的Bean其实很大概率都是要生成代理类,让

    2022年10月27日

发表回复

您的电子邮箱地址不会被公开。

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