STL标准模板库作为C++标准库的一部分,其组件包括:容器、算法、迭代器、仿函数、配接器、配置器。
今天来说说容器,容器主要可以分为两种:序列式容器(元素是可序的,但并非有序)、关联式容器。
一、序列式容器
1、vector
1)vector和C/C++的内置数组类似,只不过array空间是静态的,vector的空间则是可以改变的,当元素个数达到空间上...
分类:
其他好文 时间:
2015-07-29 23:10:38
阅读次数:
255
转自http://blog.sina.com.cn/s/blog_9f1c0931010180cy.htmlVectorsvector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的...
分类:
编程语言 时间:
2015-07-29 15:51:14
阅读次数:
186
作为C++标准库相当重要的一部分,STL库提供一系列组件操作。它主要可以分为容器、迭代器、基本算法、函数对象以及内存分配器和配接器六个部分。整个STL库的代码都采用模板函数以及模板类的方式实现,具有高度的通用性。对于传统的应用程序来讲,模板库支持并且倡导一种新的编程风格,即称为泛型编程思想,以通用的...
分类:
编程语言 时间:
2015-07-29 12:06:15
阅读次数:
231
C++最重要的组成部分是他的标准模板库STL(Standard Template Library)。 20世界90年代早期,惠普实验室的Alex Stepanov 和Meng Lio 使用包含了一些类和函数模板的库扩展了C++,这个库称为标准模板库STL,是标准C++库之一。 标准模板库STL关注....
分类:
其他好文 时间:
2015-07-28 22:50:31
阅读次数:
119
C++ Primer 学习笔记_15_类与数据抽象(1)_类的定义和声明
在C++中,用类来定义自己的抽象数据类型。通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写、调试和修改程序。可以使得自己定义的数据类型用起来与内置类型一样容易和直观。
看一下Sales_item类:
class Sales_item
{
private:
std::string isbn;...
分类:
编程语言 时间:
2015-07-24 20:51:20
阅读次数:
221
C++ Primer 学习笔记_14_标准模板库_bitset位集合容器
bitset容器是一个bit位元素的序列容器,每个元素只占一个bit位,取值为0或1,因而很节省内存空间。下图是一个bitset的存储示意图,它的10个元素只使用了两个字节的空间。
使用bitset需要声明头文件”#include ”
1、创建bitset对象
创建bitset对象时,必须要指定容...
分类:
编程语言 时间:
2015-07-23 23:45:30
阅读次数:
206
C++ Primer 学习笔记_13_标准模板库_list双向链表容器
list容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线性表,这样,对链表的任一位置的元素进行插入、删除和查找都是超快速的。下图是双向循环链表的结构示意图。
list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;数据域则是本节...
分类:
编程语言 时间:
2015-07-23 00:47:33
阅读次数:
197
迭代器的介绍概述迭代器是一种检查容器内元素并遍历元素的数据类型。迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或所有元素,每一个迭代器对象代表容器中的确定的地址。迭代器改动了常规指针的接口。所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都能够叫做迭代器。然而迭代器...
分类:
编程语言 时间:
2015-07-22 20:53:50
阅读次数:
206
C++ Primer 学习笔记_11_标准模板库_stack、queue队列容器与priority_queue优先队列容器
1、stack堆栈
stack堆栈是一个后进先出(Last In First Out,LIFO)的线性表,插入和删除元素都只能在表的一端进行。插入元素的一端称为栈顶,而另一端称为栈底。插入元素叫入栈(Push),删除元素叫出栈(Pop)。下图是堆栈示意图...
分类:
编程语言 时间:
2015-07-20 16:42:48
阅读次数:
187