码迷,mamicode.com
首页 >  
搜索关键字:stl源码剖析    ( 238个结果
STL源码剖析(4):容器(vector)
容器是很多人对STL的第一印象,vector,stack,queue,set,map等等都是容器。   这里先介绍 STL中的序列式容器。   所谓序列式容器,其中的元素可序(ordered),但未必有序(sorted)。C++ 本身提供了一个序列式容器——数组(array),STL中还提供了向量(vector),链表(list),堆栈(stack),队列(queue),优先队列(priorit...
分类:其他好文   时间:2015-06-19 16:51:52    阅读次数:101
STL源码剖析(3):迭代器(iterators)
关于迭代器的基本介绍可以看我之前泛型编程的文章:   STL的中心思想在于:将数据容器(containers)和算法(algorithms)分开,彼此独立设计,最后再以一帖粘合剂将它们撮合在一起。   迭代器(iterator)是一种 smart pointer,关于智能指针可以看我之前的文章(智能指针)。    迭代器是一种行为类似指针的对象,而指针的各种行为中最常见也最重要的便...
分类:其他好文   时间:2015-06-19 15:18:36    阅读次数:150
STL源码剖析(2):内存基本处理工具
内存基本处理工具:   STL有五个全局函数,作用于未初始化空间上,它们分别是:construct(), destroy(), uninialized_copy(), uninialized_fill()和uninialized_fill_n()。   前两个函数前面文章有介绍,下面介绍后三个函数。  uninitialized_copy()使我们能够将内存的配置与对象的构造行为分离开来。如果作...
分类:其他好文   时间:2015-06-18 11:45:02    阅读次数:136
STL源码剖析(1):空间配置器
STL所有的操作对象(所有的数值)都存放在容器之内,容器需要分配空间以存放数据。为什么不说allocator是内存配置器而是空间配置器,因为空间不仅是内存,空间也可以是磁盘或其它辅助储存媒体。这里我们主要讨论内存配置。    SGI STL每个容器缺省的空间配置器为alloc,如vector: template clas...
分类:其他好文   时间:2015-06-18 09:47:39    阅读次数:124
STL源码剖析之【二分查找】
ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。      ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val...
分类:其他好文   时间:2015-06-09 17:27:31    阅读次数:98
STL内存管理
过年在家无事看了《STL源码剖析》,开学了将看过的东西总结一下,以防忘记。 先从STL的内存管理开始总结。掌管STL内存控制的是一个叫空间适配器(alloc)的东西。STL有两个空间适配器,SGI标准空间适配器(allocate)和SGI特殊的空间适配器(alloc),前者只是对c++的new...
分类:其他好文   时间:2015-05-30 17:51:38    阅读次数:100
【STL源码剖析】--error: ‘power’ was not declared in this scope
#include #include #include #include using namespace std; int main(int argc, char **argv) { int iArray[5] = {1, 2, 3, 4, 5}; vector iVect(iArray, iArray+5); cout << accumulate(iVect.begi...
分类:其他好文   时间:2015-05-14 22:02:03    阅读次数:122
STL的hashtable默认支持的模板类型
《STL源码剖析》的5.7.7 hash function一节中介绍了中定义了数个现成的hash函数,全都是仿函数。这些hash函数支持的模板类型包括:char*, const char*, char, unsigned char, signed char, short, unsigned short, int , unsigned int, long, unsigned long。这些不同类型的...
分类:其他好文   时间:2015-04-26 12:28:03    阅读次数:148
STL源码剖析--各个容器迭代器的分类
五类迭代器如下: 1、输入迭代器:只读,一次传递     为输入迭代器预定义实现只有istream_iterator和istreambuf_iterator,用于从一个输入流istream中读取。一个输入迭代器仅能对它所选择的每个元素进行一次解析,它们只能向前移动。一个专门的构造函数定义了超越末尾的值。总是,输入迭代器可以对读操作的结果进行解析(对每个值仅解析一次),然后向前移动。    2...
分类:其他好文   时间:2015-04-23 19:59:54    阅读次数:135
STL源码剖析--空间配置器
STL的设计非常巧妙,组件间互取短长,形成了一个世界,这是这个世界里的组件: 1. containers(容器):所谓容器,是指存放数据的地方,将数据以一定的方法组织存放。根据不同的组织方式,可以把容器分为顺序容器,如vector、deque、list,关联容器,如set、map。Container是一种class template。 2. algorithm(算法):各种常用不常用的算法如s...
分类:其他好文   时间:2015-04-16 21:55:30    阅读次数:220
238条   上一页 1 ... 10 11 12 13 14 ... 24 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!