C++STL(体系结构与源码分析)
Try1024
曾经沧海难为水
展开
-
(一)STL体系结构基础介绍
一、六大部件STL6大部件之间的关系:container(容器)通过allocator(配置器)取得数据储存空间, algorithm(算法)通过iterator(迭代器)存取container(容器)内容, functor(仿函数)可以协助algorithm(算法)完成不同的策略变化, adapter(配接器)可以修饰或套接functor(仿函数)代码 ------- ...原创 2019-05-07 15:11:50 · 377 阅读 · 0 评论 -
(二)容器和分配器各种测试
目录容器分类与各种测试1.容器的结构与分类2.测试程序的辅助函数3. 使用容器array4. 使用vector5. 使用容器list6. 使用容器forward_list7. 使用容器deque8. 使用容器multiset9. 使用容器multimap10.使用容器unordered_multiset11.使用容器unordere...原创 2019-05-07 20:27:24 · 661 阅读 · 0 评论 -
(三)分配器和容器分析
目录分配器容器直接的关系与分类深度探索list迭代器设计原则和Iterator Trails的作用和设计vector深度探索array,foward_list深度探索容器array容器forward-listdeque,queue和stac深度探索dequequeue,stack的实现RB-tree深度探索set,multiset深度探索ma...原创 2019-05-16 20:53:58 · 615 阅读 · 0 评论 -
(四)算法与迭代器分析
目录算法的形式迭代器的分类迭代器的分类对算法的影响算法源码剖析(11个例子)sort算法,区分C函数和STL库函数算法accumulate算法for_each算法replace,replace_if,replace_copy算法count,count_if算法find,find_ifreverse iterator:rbegin(),rend()算法...原创 2019-05-16 20:56:53 · 221 阅读 · 0 评论 -
(五)仿函数和适配器分析
目录仿函数和函数对象存在多种适配器Adapter函数适配器:Binder2nd函数适配器not1新型适配器bind迭代器适配器reverse_iteratorinserter适配器X适配器:ostream_iteratoristream_iterator仿函数和函数对象仿函数只为算法服务GNU C++独有的,非标准;identity在s...原创 2019-05-16 21:01:26 · 361 阅读 · 0 评论 -
(六)STL周边浅谈
目录一个万用的hash_functionTuple用例type traitscoutmovable元素对于deque速度现的影响测试函数一个万用的hash_function将hash函数封装成类对象hash_val进行拆解传入参数,进行循环 每次拆解一个参数,都需要更新种子 TR1的工具,)0x9e3779b9是黄金比例数字0.618测...原创 2019-05-16 21:04:22 · 294 阅读 · 0 评论