【STL源码剖析】
Always__
这个作者很懒,什么都没留下…
展开
-
【STL】空间配置器剖析(一)
最近看了看侯捷的《STL源码剖析》,打算看完之后写写笔记,毕竟很多东西看起来看懂了,却并不一定能够将其描述清楚,说到底还是没有彻底弄明白,更主要是写给自己看的,记录一下,以便以后再看。 本文主要讲 下面先从一个简单的allocator源码看起:#ifndef _JJALLOC_ #define _JJALLOC_ #include #include #include #inc原创 2016-04-23 12:04:58 · 999 阅读 · 0 评论 -
【STL】空间配置器剖析(二)
上篇文章主要对于对象的构造含和析构进行了主要说明,这篇文章将对对象构造前的内存配置和对象析构后的空间释放进行深入探索。 好的,话不多说马上进入是正文: 对对象构造前的内存配置和对象析构后的空间释放,由负责,SGI对此的设计哲学如下: 向system heap要求空间。 考虑多线程的状态 考虑内存不足的应变措施 考虑过多的“小型区块”可能造成的内存碎片问题 C++的内存配置原创 2016-04-25 11:37:28 · 9471 阅读 · 0 评论 -
【STL】空间配置器剖析(三)--内存池
内存池 上篇文章的阅读量目前为止竟然高达4000+,让作者真是受宠若惊啊(呃呃呃。毕竟是一只菜鸟啊!)。 正文开始咯: 内存池 上篇文章我们对于对对象构造前的内存配置和对象析构后的空间释放进行深入探索。详细介绍了空间配置器的,第一级空间配置器(malloc_alloc_template),第二级空间配置器(defalult_alloc_template).这篇文章将针对free原创 2016-04-28 09:55:53 · 1595 阅读 · 0 评论 -
【STL】空间配置器剖析(完结)
内存基本处理工具 STL提供了五个全局函数用于处理空间,分别为: 1. construct 用于构造; 2. destroy 用于析构; 3. uninitialized_copy(first, last, result) 将[first,last)范围内的对象复制到result处; 4. uninitiated_fill(first, last, X) 将[first,last原创 2016-04-28 11:35:17 · 692 阅读 · 0 评论 -
【STL】SGI STL私房菜:_type_traits
刚开始我们先了解一下全特化和偏特化的知识: 模板有两种特化,偏特化和全特化。类模板有偏特化和全特化,而函数模板只有全特化。 先看一下类模板: template class Test { public: Test(T1 i,T2 j):a(i),b(j){cout<<"模板类"<<endl;} private: T1 a; T2 b; }; template<> class Test原创 2016-05-03 12:27:21 · 680 阅读 · 0 评论