学习BoolanC++笔记_06(STL与泛型编程第六周)
作者: ayaoko
出处: http://www.cnblogs.com/fyc006/>
关于作者:小可才疏学浅还请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(270469391@qq.com)咨询.
![](https://images2015.cnblogs.com/blog/341737/201702/341737-20170227140532095-149467384.jpg)
1,标准库以header files 形式呈现
C++标准库的header files 不带扩展名(.h),例如#include<vector>
新式C header files 不带扩展名(.h),例如#include<cstdio>
旧式C header files 不带扩展名(.h),例如#include<stdio.h>
2,新式headers 内的组件封闭namespace "std"
Using namespace std;
Using std::cout;
旧式headers 内的组件不封装namespace "std"
总结,一般C++头文件不带.h,使用到旧的前加c,正常直接using namespace。
STL的优点在于提出并建立了一个抽象概念库,而在这个抽象概念库中,处于核心的地位的六大部件,它们分别是:
1. 空间配置器(Allocator)
2. 迭代器(Iterator)
3. 容器(Containter)
4. 算法(Algorithm)
5. 适配器(Adaptor)
6. 函数对象/仿函数(Functor)
![](https://images2015.cnblogs.com/blog/341737/201702/341737-20170227150234438-1297232287.png)
图解:Container通过Allocator来管理空间(主要是内存),
Algorithm通过Iterator来存取Container中的数据,
Functor扩展Algorithm,Adaptor来包装Container、Iterator、Functor.
![](https://images2015.cnblogs.com/blog/341737/201702/341737-20170227152713329-550145063.jpg)
![](https://images2015.cnblogs.com/blog/341737/201702/341737-20170227152740954-515169860.jpg)