![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系列-STL源码剖析
liuyuan185442111
主要为了增强记忆和方便查询,评论如果没有及时回复,还请见谅
展开
-
STL之模板的知识
.原创 2015-05-13 23:33:30 · 955 阅读 · 0 评论 -
STL容器之set/multiset
set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。原创 2015-06-09 20:08:33 · 463 阅读 · 0 评论 -
STL容器之map/multimap
.原创 2015-06-12 23:48:27 · 528 阅读 · 0 评论 -
STL之红黑树与hashtable概览
.原创 2015-06-18 00:15:40 · 1345 阅读 · 0 评论 -
STL之函数对象
函数对象和其适配器定义于<functional>中,sgi将其实现于stl_function.h中原创 2015-06-18 17:34:45 · 643 阅读 · 0 评论 -
STL的基础算法
STL中大部分算法定义于<algorithms>,此头文件定义了一系列用于元素序列上的函数。原创 2015-06-18 22:41:26 · 551 阅读 · 0 评论 -
STL学习总结
历时一月左右,基本看完了c++标准库的源码,忽略了一些用处不那么大的部分,和一些复杂难以理解的算法原创 2015-06-21 13:39:22 · 464 阅读 · 0 评论 -
STL的其他算法
.原创 2015-06-20 14:27:54 · 542 阅读 · 0 评论 -
STL之stack
栈,LIFO的数据结构。template <typename T, typename Container = deque<T> > class stack;stack是一个容器适配器,数据从容器的一端插入和取出(称为top端)。内部有一个Container类型的private变量,用来存储数据。容器只要支持如下操作即可作为stack的内部容器:empty()、size()、back()、push_原创 2015-05-22 17:12:59 · 438 阅读 · 0 评论 -
STL之queue与priority_queue
头文件queue里定义了queue和priority_queue,它们和stack一样,都是适配器。原创 2015-05-22 18:50:11 · 431 阅读 · 0 评论 -
STL之heap
heap并不归属与STL容器组件,它是个幕后英雄,扮演priority queue的助手。 heap在algorithm头文件中实现,sgi把它放在了stl_heap.h中。原创 2015-05-22 20:18:46 · 571 阅读 · 0 评论 -
STL容器之串行容器概要
sequence containers,其中的元素都可序(ordered),但未必有序(sorted)。串行容器包括vector,heap,priority_queue,list,slist,deque,stack,queue。原创 2015-05-30 16:39:04 · 492 阅读 · 0 评论 -
STL之处理uninitialized memory
.原创 2015-05-19 22:26:52 · 928 阅读 · 0 评论 -
STL容器之deque
deque (通常读作 “deck”)是一个double-ended queue。 deque动态地以分段连续空间组合而成,随时可以增加一段新的空间并链接起来。deque采用两层存储结构,用一块所谓的map(非STL的map容器)作为主控,map是一个数组,数组元素是一个指针,指向另一段连续性空间,称为缓冲区。缓冲区是deque的存储空间主体。原创 2015-06-02 14:48:06 · 502 阅读 · 0 评论 -
STL之派生类中的operator==与forward_list
list和slist的实现里,节点类型和迭代器类型都使用了分层结构。原创 2015-06-02 11:26:46 · 547 阅读 · 0 评论 -
STL容器之list
template < class T, class Alloc = allocator > class list; 内部实现是一个双向循环链表,并且为,添加了一个空节点。构造、析构、赋值 get_allocator explicit list (const allocator_type& alloc = allocator_type()); explicit list (size_type原创 2015-06-01 21:54:00 · 387 阅读 · 0 评论 -
STL之complex
.原创 2015-05-14 00:17:06 · 1865 阅读 · 0 评论 -
STL之空间配置器
.原创 2015-05-15 13:08:29 · 511 阅读 · 0 评论 -
STL之string
.原创 2015-05-19 00:03:34 · 520 阅读 · 0 评论 -
STL之basic_string
basic_string在basic_string.h中定义,部分成员函数在basic_string.tcc中定义。原创 2015-05-20 14:26:32 · 6554 阅读 · 1 评论 -
STL之auto_ptr
auto_ptr强调对资源拥有权(ownership)。也就是说,auto_ptr是“它所指对象”的拥有者,一个对象只能属于一个拥有者。原创 2015-05-20 11:17:21 · 445 阅读 · 0 评论 -
STL之迭代器
根据实现的功能,迭代器分为五类原创 2015-05-19 18:49:48 · 580 阅读 · 0 评论 -
STL之__normal_iterator和__type_traits
__normal_iterator和__type_traits都是模板类,它们不属于c++标准里,而是sgi自己扩展的。原创 2015-05-19 19:39:20 · 1285 阅读 · 0 评论 -
STL之utility
.原创 2015-05-26 00:25:39 · 1051 阅读 · 0 评论 -
STL之numeric
.原创 2015-05-28 10:32:45 · 664 阅读 · 0 评论 -
STL容器之bitset
bitset用来方便地管理一系列的bit位,它并不是一个标准的容器原创 2015-05-31 17:11:17 · 894 阅读 · 0 评论 -
STL容器之vector<bool>
vector有一个针对bool类型的specialization,也定义于<vector>中,sgi将它实现于<stl_bvector.h>中原创 2015-06-01 12:09:02 · 1458 阅读 · 0 评论 -
STL容器之valarray
valarray,为高速计算设计,以一些简化编程和一般用途的开支做为代价,主要用于数学计算。 valarray被定义于<valarray>中,sgi将其实现于诸多源文件中。 valarray不是STL标准容器。看起来很烦,专业领域所用,也就不再深究,列出valarray的接口:template <typename T>class valarray{public: typedef T原创 2015-06-01 17:58:24 · 3834 阅读 · 0 评论 -
STL容器之vector
template class vector; // generic templatevector有个针对bool的specialization,然而这玩意与bitset有点意思,等与他一起讨论。嗯,vector是一个失败的贵族实验,原本是用来展示”代理类”的设计模式的,可是又不小心写进了标准了。于是存在到现在template > class vector; // generic原创 2015-05-30 23:08:43 · 447 阅读 · 0 评论