码迷,mamicode.com
首页 >  
搜索关键字:stl源码    ( 345个结果
STL源码剖析(list)
SGI STL中list是使用环状双向链表实现的。它的结点结构定义如下: 1 template <class T> 2 struct __list_node { 3 typedef void* void_pointer; 4 void_pointer next; 5 void_pointer pre ...
分类:其他好文   时间:2016-10-26 13:24:34    阅读次数:204
STL源码剖析(vector)
在SGI STL中,vector使用的是连续的内存空间,迭代器使用普通指针来实现。 因为使用的是连续的内存空间,在vector容量不足的时候会直接分配一块新的内存,把原来的元素copy进去,回收原来的内存空间。 因此在vector扩容的时候,原来的所有迭代器都会失效。 vector的实现基本都是围绕 ...
分类:其他好文   时间:2016-10-24 09:40:57    阅读次数:238
STL源码剖析(迭代器)
在STL中,容器跟算法是分开设计的,算法是通过迭代器来对容器进行操作的。 在算法运用迭代器的时候,可能会用到其相应的型别,例如返回值为容器中元素的型别,又或者说根据迭代器的类型来选择更好的算法等等。 为了实现这一点,还有为了兼容内置型别的迭代器(vector迭代器直接使用原生pointer),STL ...
分类:其他好文   时间:2016-10-23 09:44:02    阅读次数:212
STL源码剖析(空间配置器)
前言 在STL中,容器的定义中都带一个模板参数,如vector 其中第二个参数就是该容器使用的空间配置器,其中缺省使用STL已经实现的空间配置器(alloc), 该配置器使用malloc/free等为vector分配内存。 缺省的空间配置器 alloc定义了两级的空间配置器,第一级是对malloc/ ...
分类:其他好文   时间:2016-10-22 17:11:50    阅读次数:213
模板参数推导
STL有6大组件,阅读《STL源码剖析》后,对于我来说主要收货为:内存分配器、迭代器、仿函数。特别是迭代器章节收货最多,其中重中之重为traits机制的运用。 traits技法——STL的入门钥匙 首先必须清楚模板的参数推导机制,例如: ...
分类:其他好文   时间:2016-10-20 14:28:42    阅读次数:144
STL源码剖析——list
分类:其他好文   时间:2016-09-15 22:59:11    阅读次数:169
数据结构:红黑树解析
本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。 推荐阅读: Left-Leaning Red-Black Trees, Dagstuhl Workshop on Dat...
分类:其他好文   时间:2016-08-25 21:50:39    阅读次数:198
贴一发STL源码
int my_lower_bound(int size, long long key){ int first = 0, middle; int half, len; len = size; while(len > 0) { half = len >> 1; middle = first + half ...
分类:其他好文   时间:2016-08-02 14:55:30    阅读次数:182
【转载】STL"源码"剖析-重点知识总结
原文:STL"源码"剖析-重点知识总结 STL是C++重要的组件之一,大学时看过《STL源码剖析》这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1、STL概述 STL提供六大组件,彼此可以组合套用: 容器(Containers):各种数据结构,如:vector、l ...
分类:其他好文   时间:2016-07-17 11:44:46    阅读次数:181
STL"源码"剖析-重点知识总结
STL是C++重要的组件之一,大学时看过《STL源码剖析》这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1、STL概述 STL提供六大组件,彼此可以组合套用: 容器(Containers):各种数据结构,如:vector、list、deque、set、map。用来 ...
分类:其他好文   时间:2016-07-16 00:09:49    阅读次数:168
345条   上一页 1 ... 8 9 10 11 12 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!