STL 学习之空间配置器(allocator)

本文介绍了STL中的空间配置器allocator,讲解了allocator的基本接口和SGI的两级配置器实现。SGI的不标准配置器std::alloc针对不同情况优化了内存管理,包括析构策略和内存分配。第一级配置器(__malloc_alloc_template)使用malloc()和free(),第二级(__default_alloc_template)采用内存池技术,通过宏定义控制其使用。
摘要由CSDN通过智能技术生成

空间配置器(allocator)  学习(一)

allocator必要接口以及SGI的第一级配置器

    allocator不一定操作内存,也可以直接向硬盘取空间。

    简单说就是管理容器的资料的空间的工具。

    根据规范,allocator的必要接口为:

    

allocator::value_type
allocator::pointer
allocator::const_pointer
allocator::reference
allocator::const_reference
allocator::size_type
allocator::difference_type
--------------------------
allocator::rebind
allocator::allocator()//默认构造函数
allocator::allocator(const allocator&)//copy构造函数
template<class U>
allocator::allocator(const allocator<U>&)//泛化的copy构造函数
allocator::~allocator()//析构函数
pointer allocator::address(reference x) const
//返回对象地址,等同于&x
const_pointer allocator::address(const_reference x) const
//返回const对象地址
pointer allocator::allocator(size_type n,const void* =0)
//配置存储n个T对象
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值