C++STL笔记

原创 2012年03月27日 14:47:39

vector

vector::erase函数

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

Removes from the vector container either a single element (position) or a range of elements ([first,last)).

Because vectors keep an array format, erasing on positions other than the vector end also moves all the elements after the segment erased to their new positions, which may not be a method as efficient as erasing in other kinds of sequence containers (dequelist).

Return value

A random access iterator pointing to the new location of the element that followed the last element erased by the function call, which is the vector end if the operation erased the last element in the sequence.

erase函数要么删作指定位置loc的元素,要么删除区间[start, end)的所有元素.返回值是指向删除的最后一个元素的下一位置的迭代器.
删除vector中所有为8的元素
for(vector<int>::iterator it=arr.begin(); it!=arr.end(); )
    {
        if(* it == 8)
        {
            it = arr.erase(it);
        }
        else
        {
            ++it;//不能在写成for(:,:++it),注意erase的返回值,删除元素后所有元素往前移动it指向删除元素后的后边那个元素
        }
    }


版权声明:本文为博主原创文章,未经博主允许不得转载。

《我的第一本c++书》学习笔记:STL中一些通用算法(二)

copy():复制容器元素 merge():合并容器元素 以下为copy()代码: // k.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #inclu...

C++ STL第三周笔记

1.容器deque 容器deque的实现原理:deque两端都可以进出元素,而且它是“连续”存储的,它的实现原理图如下图。可以看到deque由这几部分构成:map(控制中心,实际上是vector类型)...

Android学习笔记——NDK中C++标准库、STL的配置;Include其他头文件

http://cherishlc.iteye.com/blog/1758643 以下所有是基于Eclipse的,使用命令行的绕道。  1、STL的使用,以stlport为例  官方的...

《我的第一本c++书》学习笔记:STL中的一些通用算法(三)

transform(): 前面介绍的copy能移动数据,但在移动中,不能对其进行操作,所以STL提供了transform()来实现这项功能。 其重载了2个函数: 第一个有4个参数:前两个表示输入容器的...

C++ 学习笔记:STL 容器一些底层机制

vector 容器 list 容器 deque 容器 stack queue heap priority_queue set 和 multiset 容器 map 和 multimap 容器 hash_...

C++ STL关联容器 set和map学习笔记

C++ STL关联容器 set和map学习笔记 STL提供了4种关联容器:set、multiset、map和multimap。前两种在头文件#include,后两种在头文件#include中定义的。 ...

C++ Primer 学习笔记_32_STL实践与分析(6) --再谈string类型(下)

 STL实践与分析 --再谈string类型(下) 四、string类型的查找操作     string类型提供了6种查找函数,每种函数以不同形式的find命名。这些操...

C++ Primer Plus学习笔记之STL容器

C++ Primer Plus学习笔记之STL容器 一,容器的概念 容器是存储其他对象的对象。被存储的对象必须是同一种类型,它们可以是OOP意义上的对象,也可以是内置类型值。 二,容器的分类 ...

达内2013C++教程STL笔记

一,day1-day7: 1. 可以直接比较string对象的大小,而c风格字符串比较的只是指针大小  例子1:     string a[] = { "ab", "cd" };     if...

PKU C++程序设计实习 学习笔记6 标准模板库STL

标准模板库STL 8.1 STL概述 1.泛型程序设计 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用:1.面向对象的思想:继承和多态,标准类库  2.泛型程序设计(gene...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++STL笔记
举报原因:
原因补充:

(最多只允许输入30个字)