码迷,mamicode.com
首页 >  
搜索关键字:空间配置器    ( 92个结果
STL—内存的配置与释放
上一篇我们介绍了STL对象的构造与析构,这篇介绍STL内存的配置与释放。 STL有两级空间配置器,默认是使用第二级。第二级空间配置器会在某些情况下去调用第一级空间配置器。空间配置器都是在allocate函数内分配内存,在deallocate函数内释放内存。 第一级空间配置器 第一级配置器只是对mal ...
分类:其他好文   时间:2017-07-17 20:07:03    阅读次数:157
利用std::allocator实现自定义的vector类
std::allocator即空间配置器,用于内存分配。更多的细节建议大家研究相关源码。 这里仅是利用std::allocator来实现简单的自定义vector类,如有问题欢迎指正。 以下是测试代码: 测试结果: ...
分类:其他好文   时间:2017-06-24 00:22:52    阅读次数:272
STL 标准模板库
STL(Standard Template Library,标准模板库), 组成: STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。 容器部分主要由 ...
分类:其他好文   时间:2017-06-17 17:18:03    阅读次数:167
一款线程安全、基本功能齐全的STL
MiniSTL 目前正在完成一个STL,主要想通过该项目锻炼C++编程、模板编程、熟悉STL、锻炼数据结构和算法能力。 项目的目标是实现STL的几大构件+线程安全。项目过程中主要参考SGI STL源码,项目名称为:MiniSTL。 目前已完成空间配置器和迭代器部分,接下来会去实现容器和算法,最后还会 ...
分类:编程语言   时间:2017-06-10 19:31:57    阅读次数:221
STL初探——第二级配置器 __default_alloc_template的学习心得
SGI STL 第二级配置器使用的是memory pool,即内存池,相比较于第一级空间配置器,第二级空间配置器多了许多限制,主要是为了防止申请小额区块过多而造成内存碎片。当然小额区块在配置时实际上是对空间配置器效率的一种伤害。另外,索求任何一块内存,都得需要一些额外内存来进行标记,虽然这些标记占内 ...
分类:其他好文   时间:2017-05-04 22:00:42    阅读次数:350
STL初探——构造和析构的基本工具: construct()和destroy()
以下是这两个函数的整体示意图: construct()和destroy()函数必须被设计为全局函数,STL规定空间配置器必须包含这两个成员函数,但是std::alloc的配置器并没有遵循这一规则。 以下是包含在<stl_construct.h>头文件中的两个函数的的定义: 上述 _Construct ...
分类:其他好文   时间:2017-05-03 11:41:14    阅读次数:422
STL初探——设计一个简单的空间配置器
将以上空间配置器 m_allocator::_m_alloctor应用于程序中,只能有限度搭配PJ STL 和RW STL(两种不同版本STL源码),因为PJ STL未完全遵循STL规格,其所供应的许多容器都需要一个非标准的空间配置器接口allocator::_Charalloc(), 而RW ST ...
分类:其他好文   时间:2017-05-02 18:16:37    阅读次数:168
《STL源码剖析》要点摘抄
1. STL的空间配置器 SGI STL设计了双层级配置器,第一级配置器直接使用malloc()、free(),第二级配置器则视情况采用不同的策略:当配置区块超过128bytes时,视为“足够大”,便调用第一级配置器;当配置区块小于128bytes时,视为“过小”,为降低额外负担,便采用复杂的mem ...
分类:其他好文   时间:2017-03-15 00:20:37    阅读次数:226
STL源码剖析 — 空间配置器(allocator)
前言 以STL的实现角度而言,第一个需要介绍的就是空间配置器,因为整个STL的操作对象都存放在容器之中。 你完全可以实现一个直接向硬件存取空间的allocator。 下面介绍的是SGI STL提供的配置器,配置的对象,是内存。(以下内容来自《STL源码剖析》) 空间配置器的标准接口 根据STL的规范 ...
分类:其他好文   时间:2017-03-01 00:43:38    阅读次数:315
Ch2 空间配置器(allocator) ---笔记
2.1 空间配置器的标准接口 allocator的必要接口: allocator::value_type allocator::pointer allocator::const_pointer allocator::reference allocator::const_reference alloc... ...
分类:其他好文   时间:2017-01-12 21:18:38    阅读次数:227
92条   上一页 1 2 3 4 5 6 ... 10 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!