代码改变世界

侯捷C++八部曲:C++标准库 体系结构与内核分析

2021-12-02 23:03  cascle  阅读(261)  评论(0编辑  收藏  举报

1. 认识headers、版本、重要资源

 

 

 

 

 

 

 

 

 

 

C++标准库:编译器提供的头文件

 

 

 

 

 

 

 

 

 

 

 

 

2. STL体系结构基础介绍

 

 容器使用分配器管理内存

迭代器:泛化指针,容器和算法之间的桥梁

迭代器:对现有模板类做接口转换

 

 

 predicate:宾语,条件

 

 

 

 

 所有容器都有自己专属的iterator

 

 

auto推导出来的类型是value_type 

 

 

3. 容器之分类与各种测试(一)

红色的是C++11新增的

 

 

 

 

 

 

 

5. 容器之分类与各种测试(三)

 

 

 

 

 

 

 

 

 

 

 

 

 

6. 容器之分类与各种测试(四)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. 分配器之测试

 

 

 

 

 

 

 

 

 

 

 

8. 源代码之分布(VC,GCC)

 

 

 

 

 

  

 

 

 

 

 

 

 

 

9. OOP(面向对象编程) VS. GP(泛型编程)

较早GNU标准库继承用的很少

 

 

 

 

 

 容器自己带sort就用自己的,因为他的内部结构不能用于通用算法

 

 

 

10. 技术基础:操作符重载and模板(泛化,全特化,偏特化)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 __STL_TEMPLATE_NULL代表要特化

 

 

 

 

 类型匹配看类名后面尖括号里的

 

11. 分配器

 

 

 

 

 

 

 allocator<int>()生成一个无名对象

 

 

 

 

 

 

 

 

 

 

 目的是尽量减少malloc带来的开销

容器大小事一样的,不需要带有cookie记录每个元素多大

 

 

 

 

 

 

 

12. 容器之间的实现关系与分类