zoukankan      html  css  js  c++  java
  • C++

    容器(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 
    



  • 相关阅读:
    第11章 接口与内部类
    第10章 多态
    API接口设计之token、timestamp、sign具体实现
    JDK 监控和故障处理工具
    分布式id生成方案
    SQL优化
    自定义对象存入Redis
    OAuth(开放授权)
    Hystrix使用
    Session机制详解
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3899997.html
Copyright © 2011-2022 走看看