一、SGI 标准的空间配置器,std::allocator SGI也定义了一个符合部分标准,名为allocator的配置器,但是它自己不使用,也不建议我们使用,主要原因是效率不佳。 它只是把C++的操作符::operator new和::operator delete做了一层简单的封装而已。 二、S ...
分类:
其他好文 时间:
2016-06-04 19:26:30
阅读次数:
312
STL简介 STL(Standard Template Library,标准模板库),从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。 谈及组件,那么我们就首先来简单谈下STL六大组件,其相关的设计模式使用,以及各组 ...
分类:
其他好文 时间:
2016-06-03 21:35:18
阅读次数:
302
最近有几个同事开通了个人博客,但却抱怨说因为的买的虚拟空间,所以个人博客网站打开速度很慢。对于这种现象,按照一般的情况来看,一个网站的访问 打开速度的快与慢,全是看这个网站使用的空间配置,要是这个空间主机的配置不错,那么你的网站访问速度就会很快;相反,要是你的空间主机的配置很烂,那么 你的网站访问速 ...
分类:
Web程序 时间:
2016-05-26 18:52:06
阅读次数:
176
我是照着侯捷老师的《STL源码剖析》做的cghSTL,现在才看到第三章,忽然觉得这本书的编排非常适合自学。
第一章讲解空间配置器,这是STL最基础的部件,没什么好说的。
第二章讲解迭代器,老师举了单向链表的例子,这非常有考究,单向链表不需要连续的存储空间,意味着使用单向链表实现的容器不需要考虑空间溢出等问题,我们可以把注意力集中在容器的迭代器上。
第三章讲解序列式容器,一来说怎么实现vect...
分类:
其他好文 时间:
2016-05-18 19:17:35
阅读次数:
209
SGISTL默认使用二级空间配置器,当需要配置的区块大于128 bytes时SGI STL调用一级空间配置器,一级空间配置器的allocate函数直接使用malloc分配内存,deallocate函数直接使用free释放内存。当需要配置的区块小于128 bytes时SGI STL调用二级空间配置器。
相比于一级空间配置器简单粗暴的内存使用方法,二级空间配置器对内存的使用显得精细...
分类:
其他好文 时间:
2016-05-13 01:17:57
阅读次数:
194
我们在编写程序过程中,需要内存时,我们第一反应就是malloc,但是这样容易产生内————存碎片,比如先申请50字节的空间,紧接着有申请了13字节空间,最后有申请了100字节空间,假设刚好这部分空间是连续的,那么当中间13字节空间释放后,之后一只在申请的空间都大于13字节,这是,这块空间就会形成内存碎片无法被利用。在STL中提到了空间适配器,它主要分为两级:一级空间适配置器,二级空间配置器。一级空间...
分类:
其他好文 时间:
2016-05-12 21:09:14
阅读次数:
239
侯捷老师的书中介绍了空间配置器基本的接口(p43~44)。以下是一个简单的空间配置器实现:
cghAlloc.h:
#ifndef _CGH_ALLOC
#define _CGH_ALLOC
#include
#include
#include
#include
#include
namespace CGH
{
template
inline T* _allocate(p...
分类:
其他好文 时间:
2016-05-06 12:33:13
阅读次数:
144
给XML配置文件"减肥"的另一个选择就是使用p名称空间,从 2.0开始,Spring支持使用名称空间的可扩展配置格式。这些名称空间都是基于一种XML Schema定义。事实上,我们所看到的所有bean的配置格式都是基于一个 XML Schema文档。 特定的名称空间并不需要定义在一个XSD文件中,它 ...
分类:
编程语言 时间:
2016-05-03 01:59:24
阅读次数:
157