`
xitong
  • 浏览: 6157643 次
文章分类
社区版块
存档分类
最新评论

STL------vector的简单使用

 
阅读更多
vector类似与数组,但更加安全,且长度是可变的。vector能存储同种类型的元素。
empty函数判断vector是否为空
clear函数清空vector
maxsize函数返回vector最大存储量
begin函数返回vector的的第一个元素的迭代器指针
end函数返回vector的最后一个元素的下一个位置的迭代器指针
push_back函数在vector尾部添加一个元素
pop_back函数删除最后一个元素
insert函数在给定位置插入一个或多个元素
erase函数删除一个或多个元素
front函数取第一个元素
back函数取最后一个元素


vector需要注意的地方:当vector内容发生改变,如添加、删除元素之后,要使用begin和end重新获取迭代器指针,因为添加、删除元素之后迭代器指针发生了变化

//vectortest.cc
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;

class Student
{
    private:
	char name[100];
    public:
	Student(const char *_name)
        {
	    strcpy(name, _name);
        }
	char* getName()
	{
	    return name;
	}
	void printName()
	{
	    cout << name << endl;
	}
};

int main()
{
    vector<Student> students;
    students.push_back(Student("zhangsan"));
    students.push_back(Student("hahaya"));
    students.push_back(Student("lisi"));

    vector<Student>::iterator itr = students.begin();
    //删除增加内容后要重新使用begin和end获取迭代器
    //删除lisi
    while(itr < students.end())
    {
	Student s1 = *itr;
	if(strcmp(s1.getName(), "lisi") == 0)
	{
	    students.erase(itr);
	}
	//s1.printName();
	itr++;
    }

    itr = students.begin();
    while(itr < students.end())
    {
	Student s1 = *itr;
	s1.printName();
	itr++;
    }
    return 0;
}

分享到:
评论

相关推荐

    常用STL的简单使用方法

    常用STL的简单使用方法: /队列的使用  /链表的使用 /容器 vector 的使用

    C++ stl版通讯录

    用stl编写的简易通讯录 ,可以实现简单的增添 删除 查找 等功能

    effective stl stl 技巧

    条款13:尽量使用vector和string来代替动态分配的数组 条款14:使用reserve来避免不必要的重新分配 条款15:小心string实现的多样性 条款16:如何将vector和string的数据传给传统的API 条款17:使用“交换技巧...

    深入浅析STL vector用法

    本文关于stl vector用法的介绍非常详细,具体内容请看下文 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()...

    Effictive STL CHM中文版

    条款13: 尽量使用vector和string来代替动态申请的数组 条款14: 用reserve来避免不必要的内存重新分配 条款15: 当心string的实现中的变化 条款16: 如何将vector和string的数据传给传统的API 条款17: 用“交换技巧...

    STL学习,总结了map、vector、list的简单操作

    STL学习,总结了map、vector、list的简单操作

    Effective STL(中文)

    在删除选项中仔细选择 条款10:注意分配器的协定和约束 条款11:理解自定义分配器的正确用法 条款12:对STL容器线程安全性的期待现实一些 vector和string 条款13:尽量使用vector和string来代替动态...

    STL源码剖析.pdg

    2.1.1 设计一个简单的空间配置器,jj::allocator 044 2.2 具备次配置力(sub-allocation)的sgi 空间配置器 047 2.2.1 sgi 标准的空间配置器,std::allocator 047 2.2.2 sgi 特殊的空间配置器,std::alloc 049 ...

    stl实现学生成绩管理

    用c++stl实现的学生成绩管理系统,代码简单明了,易懂,且该代码是安全可靠的

    MFC序列化到xml文档,支持STL的vector,map,pair

    最简单的MFC序列化扩展,实现输出到XML文档,支持STL的vector、map等容器和pair。

    标准模板库STL

    STL容器部分主要由头文件&lt;vector&gt;、、、、、和组成。 (2)算法(Algorithms)。包括各种基本算法,如比较、交换、查找、排序、遍历操作、复制、修改、移除、反转、合并等等。 STL算法部分主要由头文件和组成。...

    C++STL学习?vector

    这篇博客在简单介绍STL的情况下,会详细的来介绍vector的使用。  STL共有六大组件:  一。容器(Container):是一种数据结构,如list,vector,deque,queue等,以模板类的方法提供,为了访问容器中的数据,...

    STL 源码剖析(侯捷先生译著)

    内容简介回到顶部↑这本书不适合C++ 初学者,不适合 Genericity(泛型技术)初学者,或 STL 初学者。这本书也不适合带领你学习面向对象(Object Oriented)技术 — 是的,STL 与面向对象没有太多关连。本书前言清楚...

    effective stl 中文 pdf

    怎么使用stl 这里几乎都有说明 条款1: 仔细选择你要的容器 条款2: 小心对“容器无关代码”的幻想 条款3: 使容器里对象的拷贝操作轻量而正确 条款4: 用empty来代替检查size是否为0 条款5: 尽量使用范围成员函数...

    关于STL中vector容器的一些总结

    vector作为STL提供的标准容器之一,是经常要使用的,有很重要的地位,并且使用起来也是灰常方便。vector又被称为向量,vector可以形象的描述为长度可以动态改变的数组,功能和数组较为相似。实际上更专业的描述为:...

    STL vector

    vector采用的数据结构很简单,为线性连续空间,它以两个迭代器start和finish分别指向配置得来的连续空间中目前已使用的范围,迭代器end_of_storage指向整块连续空间(含备用空间)的尾端。 为了降低空间配置时的速度...

    vector简单用法

    vector简单用法,有助于初学者对vector的了解以及对STL的认识

    Teeny-Tiny-STL:从《 STL源码剖析》(Annotated STL Sources)改编而成的简单c ++ 11 STL

    LMSTL在原书基础上改写为简单的C ++ 11 STL,目前尚未完成。 基于侯捷的带注释的STL源(使用SGI STL) 。 我使用C ++ 11中的一些新功能来重写本书中的原始代码。 还没完成。这是我寒假里作为个人C ++新手入门的项目...

    C++轻量级通用插件框架源码

    本插件机制采用C++实现,用到了C++的RTTI机制和少量Windows API函数,没有使用MFC、ATL、STL,没有使用LIB文件,外部依赖文件少,没有使用VC++特殊编译指令。 编译环境为Visual C++ 6.0/2003/2005/2008/2010,其他...

    二维vector初始化,代码可运行

    简单的二维vector初始化方法,在实际项目中难免会遇到

Global site tag (gtag.js) - Google Analytics