STL源代码分析(ch2 内存分配)标准接口
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL源代码分析(ch2 内存分配)标准接口相关的知识,希望对你有一定的参考价值。
1. 标准接口
以下几种自定义类型是一种type_traits技巧
allocator::value_type
allocator::pointer
allocator::const_pointer
allocator::reference
allocator::const_reference
allocator::size_type
allocator::difference
allocator::rebind
1.1 接口
allocator::allocator() // 默认构造函数
allocator::allocator(const allocator&) // 拷贝构造函数
template <class U>allocator::allocator(const allocator<U>&) // 泛化的拷贝构造函数
allocator::~allocator() // 析构函数
// 返回某个对象的地址,a.address(x)等同于&x
pointer allocator::address(reference x) const
// 返回某个const对象的地址,a.address(x)等同于&x
const_pointer allocator::address(const_reference x) const
// 配置空间,足以存储n个T对象。第二个参数是个提示。
//实现上可能会利用它来增进区域性(locality),或完全忽略之
pointer allocator::allocate(size_type n, const void* = 0)
void allocator::deallocate(pointer p, size_type n)// 释放先前配置的空间
size_type allocator:maxsize() const// 返回可成功配置的最大量
//在p指向位置 调用对象的构造函数,等同于 new((void*)p) T(x)
void allocator::construct(pointer p, const T& x)
void allocator::destroy(pointer p)// 调用对象的析构函数,等同于 p->~T()
以上是关于STL源代码分析(ch2 内存分配)标准接口的主要内容,如果未能解决你的问题,请参考以下文章
STL源代码分析(ch2 内存分配)uninitialized_fill
STL源代码分析(ch2 内存分配)uninitialized_fill