空间配置器(allocator)
空间配置器按我的理解就是C++ STL进行内存管理的组件(包括内存的申请和释放);当然,不只是内存,还可以向硬盘申请空间;
我主要看了内存的配置与释放(这里“配置”就应该是“申请”的意思)。STL对此设计的哲学主要包括以下四个方面:
1、向系统堆空间申请内存空间
2、考虑了多线程的情况下的申请;
3、考虑内存不足的应变措施;
4、考虑过多“小型区块”的内存碎片的问...
分类:
其他好文 时间:
2015-07-19 10:12:24
阅读次数:
123
在list库函数的编译中仍然有很多问题,在源代码的编译中有些内容尚未搞懂,在后期的学习中会进行更加深入的学习,希望大家可以对我的问题提出建议和批评,谢谢大家~
具体的代码如下:
#include
using namespace std;
//采用迭代器和空间配置器所实现的双向链表的基本功能
template > ...
分类:
编程语言 时间:
2015-07-13 22:32:14
阅读次数:
207
此版本的list类,很多信息都保存在内部类里面。如果抛开这些内部类,list类里面实质的成员只包括三个:protected:
_A allocator; //空间配置器
_Nodeptr _Head; //list节点
size_type _Size; //list内元素个数抛开空间配置器不谈,_Head节点是一个_Node类型的指针struct _Node;...
分类:
其他好文 时间:
2015-07-12 09:47:24
阅读次数:
281
#include
using namespace std;
//没有采用迭代器和空间配置器所实现的双向链表的基本功能
template //定义模板类
class list //list类
{
public:
typedef size_t s...
分类:
编程语言 时间:
2015-07-10 22:25:43
阅读次数:
148
STL所有的操作对象(所有的数值)都存放在容器之内,容器需要分配空间以存放数据。为什么不说allocator是内存配置器而是空间配置器,因为空间不仅是内存,空间也可以是磁盘或其它辅助储存媒体。这里我们主要讨论内存配置。
SGI STL每个容器缺省的空间配置器为alloc,如vector: template
clas...
分类:
其他好文 时间:
2015-06-18 09:47:39
阅读次数:
124
一般在使用new 和 delete的时候,做了两件事情,一是空间的配置( new 是分配,delete是回收),而是调用对象的析构函数但是也有办法将这两个过程分开那就是显式的调用::operator new, ::operator delete,它们只进行空间配置,并不调用对象的析构函数具体的可以参...
分类:
编程语言 时间:
2015-05-19 12:12:42
阅读次数:
127
Allocaorallocator 指的是空间配置器,用于分配内存。STL中默认使用SGI STL alloc作为STL的内存分配器,尽管未能符合标准规格,但效率上更好。SGI STL也定义有一个符合标准,名为allocator的配置器,但SGI自己从未使用过它,主要原因是它仅仅把C++的new操作...
分类:
其他好文 时间:
2015-05-17 10:46:39
阅读次数:
136
STL的设计非常巧妙,组件间互取短长,形成了一个世界,这是这个世界里的组件:
1. containers(容器):所谓容器,是指存放数据的地方,将数据以一定的方法组织存放。根据不同的组织方式,可以把容器分为顺序容器,如vector、deque、list,关联容器,如set、map。Container是一种class template。
2. algorithm(算法):各种常用不常用的算法如s...
分类:
其他好文 时间:
2015-04-16 21:55:30
阅读次数:
220
//---------------------------15/04/05----------------------------
/*
空间配置器概述:
1:new操作包含两个阶段操作
1>调用::operator new配置内存(底层使用malloc来申请内存)。
2>调用函数的构造函数,构造对象内容。
...
分类:
其他好文 时间:
2015-04-06 11:29:31
阅读次数:
151
在C++ STL的SGI实现版本中,一级空间配置器class __malloc_alloc_template中有一个静态函数的实现如下:static void (*set_malloc_handler(void (*f)()))() { void (*old)() = __malloc_all...
分类:
其他好文 时间:
2015-04-03 19:23:47
阅读次数:
178