从零开始学C++之STL(一):STL六大组件简介

本文介绍了C++的STL(Standard Template Library),包括泛型编程概念和STL的主要组件:容器、迭代器、算法、适配器、函数对象以及分配器。重点讲解了不同容器如vector、list、set、map及其适用场景,以及无序哈希表std::tr1::unordered_map的高效特性。此外,还提及了迭代器的遍历作用、算法的通用性、适配器的功能扩展和自定义分配器的内存管理策略。
摘要由CSDN通过智能技术生成

一、STL简介


(一)、泛型程序设计

泛型编程(generic programming)
将程序写得尽可能通用
将算法从数据结构中抽象出来,成为通用的
C++的模板为泛型程序设计奠定了关键的基础


(二)、什么是STL

1、STL(Standard Template Library),即标准模板库,是一个高效的C++程序库。
2、包含了诸多在计算机科学领域里常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可复用性

3、从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming)

在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的方式处理各种不同情形。

4、从实现层次看,整个STL是以一种类型参数化(type parameterized)的方式实现的

基于模板(template)


二、STL组件


Container(容器) 各种基本数据结构


Adapter(适配器) 可改变containers、Iterators或Function object接口的一种组件


Algorithm(算法) 各种基本算法如sort、search…等


Iterator(迭代器) 连接containers和algorithms


Function object(函数对象) 


Allocator(分配器)



(一)、容器

容器类是容纳、包含一组元素或元素集合的对象
七种基本容器:

向量(vector)、双端队列(deque)、列表(list)、集合(set)、多重集合(multiset)、映射(map)和多重映射(multimap)

标准容器的成员绝大部分都具有共同的名称


序列式容器

序列式容器Sequence containers,其中每个元素均有固定位置——取决于插入时机和地点࿰

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值