STL源码剖析
文章平均质量分 86
本专栏针对SGI STL源码进行了详细的剖析,参照侯捷先生的书《STL源码剖析》和SGI STL源码及其文档,介绍内容包括STL类型萃取traits技术、内存管理、迭代器iterator、基本数据结构、序列容器、关联容器、STL算法以及STL各类组件的高阶实现技术。
逆风微积分
目前从事Android系统框架层开发工作
展开
-
STL源码剖析——STL函数对象
本文介绍了STL中的函数对象,针对函数对象的源码进行了剖析,在这里剖析了算术类函数对象、关系运算类函数对象和逻辑运算类函数对象。原创 2014-10-01 15:30:11 · 1861 阅读 · 0 评论 -
STL源码剖析——STL算法之permutation排列组合
本文讲解的是STL算法中的permutation排列组合算法,根据输入序列,排列出下一个排列组合或前一个排列组合。原创 2014-09-30 18:49:09 · 2117 阅读 · 0 评论 -
STL源码剖析——STL算法之remove删除算法
本文介绍的STL算法中的remove删除算法,源码中介绍了函数remove、remove_copy、remove_if、remove_copy_if、unique、unique_copy。并对这些函数的源码进行详细的剖析,并适当给出使用例子。原创 2014-09-30 18:43:20 · 1892 阅读 · 0 评论 -
STL源码剖析——STL算法之merge合并算法
本文介绍的STL算法中的merge合并算法,源码中介绍了函数merge、inplace_merge。并对这些函数的源码进行详细的剖析,并适当给出使用例子。原创 2014-09-30 18:39:52 · 2931 阅读 · 0 评论 -
STL源码剖析——STL算法之find查找算法
本文介绍的STL算法中的find、search查找算法。在STL源码中有关算法的函数大部分在本文介绍,包含findand find_if、adjacent_find、search、search_n、lower_bound、 upper_bound、 equal_range、binary_search、find_first_of、find_end相关算法,下面对这些算法的源码进行了详细的剖析,并且适当给出应用例子,增加我们对其理解,方便我们使用这些算法。原创 2014-09-30 18:34:34 · 3830 阅读 · 0 评论 -
STL源码剖析——STL算法之sort排序算法
本文介绍的STL算法中的sort排序算法,SGI STL中的排序算法不是简单的快速排序,而是交叉利用各种排序:堆排序、插入排序和快速排序;这样做的目的是提高效率,针对数据量比较大的采用快速排序,数据量比较小的可以采用堆排序或插入排序。原创 2014-09-30 18:32:55 · 2044 阅读 · 0 评论 -
STL源码剖析——STL算法stl_algo.h
本文剖析的STL算法的源码,在剖析源码的同时会给出一些例子,这样加深对其理解,方便我们对这些算法的使用。原创 2014-09-30 18:01:49 · 3726 阅读 · 0 评论 -
STL源码剖析——STL算法之set集合算法
本节介绍set集合的相关算法,分别是并集set_union,差集set_difference,交集set_intersection和对称差集set_symmetric_difference,这是个函数都提供了两个版本的函数原型:第一个版本是采用默认的排序比较方式 operator<;第二个版本是用户通过仿函数comp自行指定排序方式。注意:这四个算法接受的输入区间都是有序的,输出也是有序的。原创 2014-09-29 15:00:47 · 2403 阅读 · 0 评论 -
STL源码剖析——基本算法stl_algobase.h
本文剖析了STL中基本算法的源码,了解其实现机制,方便以后使用STL算法。原创 2014-09-29 10:19:20 · 1889 阅读 · 0 评论 -
STL源码剖析——stl_relops.h学习
前言源码原创 2014-09-28 21:48:38 · 1280 阅读 · 0 评论 -
STL源码剖析——数值算法stl_numeric.h
本文讲解了STL算法中的数值算法,在源码中给出了详细的剖析,同时给出例子进行说明。原创 2014-09-28 20:14:47 · 1718 阅读 · 0 评论 -
STL源码剖析——关联容器之hash_multimap
前言原创 2014-09-27 09:36:06 · 1143 阅读 · 0 评论 -
STL源码剖析——关联容器之hash_map
前言原创 2014-09-27 09:33:06 · 1879 阅读 · 0 评论 -
STL源码剖析——关联容器之hash_multiset
前言hash_multiset和hash_set的区别就像原创 2014-09-26 20:40:29 · 1222 阅读 · 0 评论 -
STL源码剖析——关联容器之hash_set
前言由于qian原创 2014-09-26 20:15:57 · 1129 阅读 · 0 评论 -
STL源码剖析——stl_hash_fun.h学习
前言在has原创 2014-09-26 18:35:11 · 1966 阅读 · 0 评论 -
STL源码剖析——散列表hashtable
与前面介绍的底层机制基于红黑树RB-Tree容器不同,本文介绍的是哈希表hash table,在SGI STL中,给出了底层机制基于哈希表的相关容器的介绍,这里介绍hash table的源码剖析,有利于对后面容器的理解。原创 2014-09-26 12:00:59 · 1955 阅读 · 0 评论 -
STL源码剖析——关联容器之multimap
前言原创 2014-09-25 10:52:33 · 1531 阅读 · 0 评论 -
STL源码剖析——关联容器之multiset
前言multiset容器源码剖析原创 2014-09-24 22:59:20 · 1234 阅读 · 0 评论 -
STL源码剖析——关联容器之map
前言原创 2014-09-24 21:44:28 · 3501 阅读 · 0 评论 -
STL源码剖析——stl_pair.h学习
前言pairzai原创 2014-09-24 18:59:23 · 1577 阅读 · 0 评论 -
STL源码剖析——关联容器之set
前言在SGI STL中的容器set,其实现jibenshang原创 2014-09-24 17:12:04 · 1762 阅读 · 0 评论 -
STL源码剖析——RB-Tree(红黑树)
前言有关红黑树的zh原创 2014-09-24 15:25:52 · 2641 阅读 · 0 评论 -
STL源码剖析——单向链表slist
前言在STL标准中提供de原创 2014-09-21 10:40:51 · 1235 阅读 · 0 评论 -
STL源码剖析——最大堆heap
前言原创 2014-09-20 20:18:38 · 1356 阅读 · 0 评论 -
STL源码剖析——容器配接器之priority_queue
前言priority原创 2014-09-20 16:29:45 · 1193 阅读 · 0 评论 -
STL源码剖析——容器配接器之queue
前言queue是一种“先进先出”的数据结构原创 2014-09-20 15:35:30 · 1284 阅读 · 0 评论 -
STL源码剖析——容器配接器之stack
前言stack是一种“先进先出原创 2014-09-20 14:49:53 · 1240 阅读 · 0 评论 -
STL源码剖析——序列容器之deque
前言原创 2014-09-20 13:02:11 · 1475 阅读 · 0 评论 -
STL源码剖析——序列容器之list
前言在SGI ST原创 2014-09-17 19:09:28 · 1548 阅读 · 0 评论 -
STL源码剖析——list容器的排序算法sort()
由于STL本身的排序算法sort接受的输入迭代器是随机访问迭代器,但是双向list链表容器的访问方式是双向迭代器,因此,不能使用STL本身的排序算法sort,必须自己定义属于自己访问的排序算法。我们从源码的剖析中,可以看到该排序算法思想类似于归并排序。原创 2014-09-17 09:13:24 · 9072 阅读 · 9 评论 -
STL源码剖析——序列容器之vector
在STL编程中,我们最常用到的就是容器,容器可分为序列容器和关联容器;本文记录的是我们经常使用的序列容器之vector,vector的数据安排和操作方式类似于C++内置数组类型array,唯一的区别就是在于空间的灵活运用。内置数组array是静态空间,一旦分配了内存空间就不能改变,而vector容器可以根据用户数据的变化而不断调整内存空间的大小。 vector容器有已使用空间和可用空间,已使用空间是指vector容器的大小,可用空间是指vector容器可容纳的最大数据空间capacity。ve原创 2014-09-15 13:37:25 · 2304 阅读 · 0 评论 -
STL源码剖析——全局函数construct(),destroy(),uninitialized_copy(),uninitialized_fill(),uninitialized_fill_n()
前言在原创 2014-09-13 17:56:39 · 1864 阅读 · 0 评论 -
STL源码剖析——迭代器
前言原创 2014-09-12 21:28:42 · 1406 阅读 · 0 评论 -
STL源码剖析——Traits编程技术
前言原创 2014-09-12 16:38:57 · 2141 阅读 · 0 评论 -
STL源码剖析——空间配置器
前言空间配置是为存储数据原创 2014-09-09 12:12:01 · 3946 阅读 · 4 评论