STL源码剖析学习笔记(一)
本文主要是对侯捷《STL源码剖析》学习的知识点总结,以及自己搜集到的资料以及理解,若有任何建议以及意见请联系我
1,STL历史和简介
STL是C++的模板库(Standard Template Library),于1994年加入C++标准。加入标准后,造福了万千程序员,缩减了他们的工作量。STL是一个庞大,稳定,完整而可拓展的软件架构。使用STL后,你可能会想:如果能看到其实现,了解一下架构和原理,学习一下现成的、和每天工作息息相关的优秀代码,岂不美哉?学习牛人的代码总是提升自己的最快的途径,其障碍通常在于代码可读性,那么首先我们需要找一个切入点,一份可读性较高的STL源码。
先从STL的历史说起,STL由Alexander Stepanov创建于1979年前后,于1993年11月的ANSI/ISO C++标准委员会会议上展示其观念,获得热烈回应,最终于次年夏天完成提案,使这个巨大的计划成为C++标准规格的一部分。
STL是建立在泛型编程之上的,提供了六大组件:容器、算法、迭代器、仿函数、适配器、配置器。英文对应为container,alorithm,iterator,functor,adapter,allocator。
container
用来盛放数据的,字面意思是这样,实际上,就是实现了一系列的数据结构(dat