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