
STL
祝云飞
好好学习,天天向上
兼职联系方式:12603856@qq.com
展开
-
STL之容器适配器
前言在STL中定义了三种容器适配器:queue,priority_queue,和stack。 容器适配器是利用基本容器(如之前介绍的deque,vector,list)作为自己的底层容器,适配它以实现自己特定功能的容器。 容器适配器有一个共同的特点:都不支持迭代器(Iterator)。1.queue特点:FIFO(先进先出)原则。 模板定义template <class T,class Con原创 2016-06-26 15:43:11 · 1003 阅读 · 0 评论 -
STL之map&multimap
前言STL中有两种基本基本关联容器:map和set。本文主要介绍map和multimap。 关联容器指通过键来存储和读取元素的容器。 特点:map元素的形式是以键-值(key-value)的形式保存。键是map在访问数据value的索引。 map和multimap的区别是:map的key唯一,而multimap的key不唯一mapmap模板定义template<class Key,class翻译 2016-06-28 12:31:14 · 556 阅读 · 0 评论 -
STL之deque
deque是双向队列 头文件是 #include <deque>1.deque的基础构造函数template< class T, class Allocator = allocator>class deque T是存储数据类型,Allocator指定分配器(默认是标准分配器)。deque的构造函数:explicit deque(const Allocator &a = Allocator翻译 2016-06-20 18:04:23 · 309 阅读 · 0 评论 -
STL之vector
前言vector类支持动态数据形式,和deque也有些类似。当需要操作类似数组功能时,vector是非常有效的。头文件:#include <vector>vector基础构造函数vector模板定义templatevector重载vector重载了分配操作符,还定义了如下的比较操作符:==,<,<=,>,>=,!=vector支持随机访问迭代器,并重载了[]符号,意味着vector对象能像数组一样翻译 2016-06-21 18:08:57 · 482 阅读 · 0 评论 -
vector笔记
1.capacity()和size()的区别capacity()返回值指的是在不调用分配器重新分配vector大小的情况下,当前vector所能保存最大的容量值。 size()返回值指的是当前vector内有多少个元素。 我们通过代码来详细看看它们的区别: //代码1 //构造vector,容量大小为10,10个元素初值为0 vector<int> a(10); i原创 2016-06-22 17:54:10 · 463 阅读 · 0 评论 -
迭代器的有效性
在STL中,对于容器vector,deque,如果执行了插入或者删除操作之后,之前的迭代器都失效了。 用例子来说明情况。 我们先构造一个vector: vector<int> v; int i = 0; for (i=1;i<6;i++) { v.push_back(i); } for (i=5;i>0;i--) {原创 2016-06-23 11:10:49 · 1533 阅读 · 0 评论 -
STL之list
前言list是双向链表容器。当经常从容器的中间插入元素或者删除元素时,非常高效。#include <list>list基础list定义模板 template < class T, class Allocator = allocator< T>>class list T是存储的元素的数据类型;Allocator指定了分配器,默认是标准分配器。list构造函数 explicit list(cons翻译 2016-06-23 14:14:42 · 343 阅读 · 0 评论