一、STL(Standard Template Library,标准模板库)概述
1.容器:基于泛型的数据结构。
2.算法:基于泛型的常用算法。
3.迭代器:以泛型的方式访问容器中的元素,是泛型的算法可以
应用在泛型的容器中。
4.实用工具:string、auto_ptr等等。
二、容器、迭代器和算法
1.双向线性链表
2.迭代器
3.算法
三、十大容器
线性 向量(vector)
容器 双端队列(deque)
列表(list)
----------------------------------
适配 堆栈(stack)
器 队列(queue)
容器 优先队列(priority_queue)
----------------------------------
关联 映射(map)
容器 多重映射(multimap)
集合(set)
多重集合(multiset)
四、向量
模板类:vector<元素类型>
头文件:#include <vector>
名字空间:std
1.基本特性
1)连续内存、下标访问
2)自动化的动态内存管理
3)预分配资源
4)随机访问
5)插入和删除,效率并不高
2.实例化方法
1)vector<元素类型> 向量对象; // 空向量
vector<int> vi;
2)vector<元素类型> 向量对象 (初始大小);
vector<int> vi (3);
基本类型元素,用0初始化。
vector<Student> vs (3);
类类型元素,用缺省构造函数初始化。
3)vector<元素类型> 向量对象 (初始大小, 初始值);
vector<int> vi (3, 17); // 17 17 17
vector<Student> vs (3, Student ("张飞", 25));
4)vector<元素类型> 向量对象 (起始迭代器, 终止迭代器);
int a[10] = {1,2,3,4,5,6,7,8,9,10};
^ ^
a+5 a+8
vector<int> vi (a+5, a+8); // 6 7 8
size_type vector<value_type>::size (void); // 大小
3.关系比较:只有相同类型的向量才可以比较
(==/!=/>/>=/</<=),其比较规则与字符串类似。
4.迭代器
iterator - 正向迭代器 \
const_iterator - 常正向迭代器 \ 随机迭代器
reverse_iterator - 反向迭代器 / +/-整数
const_reverse_iterator - 常反向迭代器 / >/</-迭代器
5.常用成员函数
value_type& front (void);
value_type const& front (void) const;
value_type& back (void);
value_type const& back (void) const;
void push_back (value_type const& val);
void pop_back (void);
iterator insert (iterator loc, value_type const& val);
iterator erase (iterator loc);
#typedef basic_string<char> string;
#typedef basic_string<wchar_t> wstring;

STL模板_容器概念的更多相关文章

  1. STL模板_十大容器概念

    一.向量(续)1.大小和容量大小:容器中元素的个数.容量:容器中可容纳元素的个数.size_type size (void) const; // 获取大小void resize (size_type ...

  2. STL模板_概念

    模板和STL一.模板的背景知识1.针对不同的类型定义不同函数版本.2.借助参数宏摆脱类型的限制,同时也因为失去的类型检查而引 入风险.3.借助于编译预处理器根据函数宏框架,扩展为针对不同类型的 具体函 ...

  3. STL模板_智能指针概念

    一.智能指针1.类类型对象,在其内部封装了一个普通指针.当智能指针对象因离开作用域而被析构时,其析构函数被执行,通过其内部封装的普通指针,销毁该指针的目标对象,避免内存泄露.2.为了表现出和普通指针一 ...

  4. C++面试笔记--STL模板与容器

    1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作.vec ...

  5. 泛型编程、STL的概念、STL模板思想及其六大组件的关系,以及泛型编程(GP)、STL、面向对象编程(OOP)、C++之间的关系

    2013-08-11 10:46:39 介绍STL模板的书,有两本比较经典: 一本是<Generic Programming and the STL>,中文翻译为<泛型编程与STL& ...

  6. STL(标准模板库)基本概念

    一.什么是STL STL(Standard Template Library,标准模板库)的从广义上讲分为三类:algorithm(算法).container(容器)和iterator(迭代器),容器 ...

  7. C++标准模板库(STL)和容器

    1.什么是标准模板库(STL)? (1)C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板 ...

  8. C++STL模板库序列容器之List容器

    目录 一丶List容器的存储结构 二丶丶STL中list容器的使用. 一丶List容器的存储结构 list容器底层是链表结构来维护的.跟vector不一样. vector是数组维护的.拥有连续内存.所 ...

  9. C++模板--实现容器适配器

    STL源码初接触 STL = Standard Template Library,直译过来是:标准模板库,是惠普实验室开发的一系列软件的统称.从根本上说,STL是一些"容器"的集合 ...

随机推荐

  1. sharepoint 2013 reporting services 远程server返回错误: (500) 内部server错误。

    在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server ...

  2. javascript高级知识点——临时作用域

    代码信息来自于http://ejohn.org/apps/learn/. 自执行,临时,函数 (function(){ var count = 0; })(); 这是一个简单的自执行匿名函数. 做一个 ...

  3. Net常用命名空间和类介绍

    一.基础命名空间 l  System.Collections 包含了一些与集合相关的类型,比如列表,队列,位数组,哈希表和字典等. l  System.IO 包含了一些数据流类型并提供了文件和目录同步 ...

  4. Phoegap(cordova)开发跨平台app之HelloWorld

    PhoneGap(cordova)的hellworld程序 1           安装JDK 配置环境变量: 2           安装android-sdk 配置环境变量: set Path=E ...

  5. 第三章SignalR在线聊天例子

    第三章SignalR在线聊天例子 本教程展示了如何使用SignalR2.0构建一个基于浏览器的聊天室程序.你将把SignalR库添加到一个空的Asp.Net Web应用程序中,创建用于发送消息到客户端 ...

  6. Linux 07 故障恢复

    1. 模拟MBR扇区被破坏后的修复. MBR故障恢复: 1.备份 添加硬盘 启动操作系统: 添加硬盘: 对分区格式化: 挂载: 做备份: 破坏MBR 重启系统: 关闭虚拟机 设置光盘启动 救援模式: ...

  7. BZOJ 1396: 识别子串( 后缀数组 + 线段树 )

    这道题各位大神好像都是用后缀自动机做的?.....蒟蒻就秀秀智商写一写后缀数组解法..... 求出Height数组后, 我们枚举每一位当做子串的开头. 如上图(x, y是height值), Heigh ...

  8. 文本域textarea显示输入剩余字数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Android Studio常用插件续

    这个月因为各种事情在忙,包括赶项目,回老家,还有准备旅游的事,所以应该写不了四篇博客了.今天介绍一下关于Android Studio 的几个好用的插件,都是我在用的,它们或能帮你节省时间,或者让你心情 ...

  10. web中webAppRootKey作用

    <context-param> <param-name>webAppRootKey</param-name> <param-value>bgn.root ...