<memory>

定义一个类、运算符和一些模板来帮助分配和释放对象。

#include <memory>

成员

函数

addressof

获取对象的实际地址。

align

根据所提供的对齐和起始地址,返回指向给定大小范围的指针。

allocate_shared

创建一个 shared_ptr,指向使用指定分配器分配和构造的给定类型的对象。

checked_uninitialized_copy

uninitialized_copy 相同,但强制使用检查迭代器作为输出迭代器。

checked_uninitialized_fill_n

uninitialized_fill_n 相同,但强制使用检查迭代器作为输出迭代器。

const_pointer_cast

常量强制转换为 shared_ptr

declare_no_pointers

通知垃圾回收器:从指定地址开始且属于所指示块大小范围内的字符不包含可跟踪的指针。

declare_reachable

通知垃圾回收器:所指示的地址属于分配的存储并可到达。

default_delete

删除使用 operator new 分配的对象。 适合与 unique_ptr 一起使用。

dynamic_pointer_cast

动态强制转换为 shared_ptr

get_deleter

shared_ptr 获取删除器。

get_pointer_safety

返回任意垃圾回收器所采用的指针安全类型。

get_temporary_buffer

为不超过指定元素数量的元素序列分配临时存储。

make_shared

创建并返回一个 shared_ptr,指向使用默认分配器从零个或多个参数构造的分配对象。

make_unique

创建并返回一个 unique_ptr,指向从零个或多个参数构建的分配对象。

owner_less

允许对共享指针和弱指针进行基于所有权的混合比较。

pointer_safety

一种对 get_pointer_safety 的所有可能返回值的枚举。

return_temporary_buffer

对使用 get_temporary_buffer 模板函数分配的临时内存执行解除分配。

static_pointer_cast

静态强制转换为 shared_ptr

swap

交换两个 shared_ptrweak_ptr 对象。

unchecked_uninitialized_copy

uninitialized_copy 相同,但在定义 _SECURE_SCL=1 时,允许使用未检查的迭代器作为输出迭代器。

unchecked_uninitialized_fill_n

uninitialized_fill_n 相同,但在定义 _SECURE_SCL=1 时,允许使用未检查的迭代器作为输出迭代器。

undeclare_no_pointers

通知垃圾回收器:通过基地址指针和块大小而定义的内存块中的字符现在可包含可跟踪的指针。

undeclare_reachable

通知 garbage_collector:指定的内存位置无法达到。

uninitialized_copy

将来自指定输入范围的对象复制到未初始化的目标范围。

uninitialized_copy_n

创建来自输入迭代器的指定数量的元素的副本。 副本放置在向前迭代器中。

uninitialized_fill

将具有指定值的对象复制到未初始化的目标范围。

uninitialized_fill_n

将具有指定值的对象复制到未初始化目标范围的指定数量的元素。

运算符

operator!=

测试指定类的分配器对象之间是否不相等。

operator==

测试指定类的分配器对象之间是否相等。

operator>=

测试指定类的某一分配器对象是否大于或等于另一个分配器对象。

operator<

测试指定类的某一对象是否小于另一个对象。

operator<=

测试指定类的某一对象是否小于或等于另一个对象。

operator>

测试指定类的某一对象是否大于另一个对象。

operator<<

shared_ptr 插入器。

分配器

此模板类描述一个对象,用于管理 Type 类对象数组的存储分配和释放。

allocator_traits

描述一个对象,用于确定支持分配器的容器所需要的全部信息。

auto_ptr

此模板类描述一个对象,用于存储指向 Type * 类分配对象的指针,此指针可确保当它的封闭 auto_ptr 被销毁后,将会删除它所指向的对象。

bad_weak_ptr

报告不良的 weak_ptr 异常。

enabled_shared_from_this

帮助生成一个 shared_ptr。

pointer_traits

提供模板类 allocator_traits 对象所需信息,用于描述一个采用指针类型 Ptr 的分配器。

raw_storage_iterator

一种所提供的适配器类,使算法能够将它们的结果存储到未初始化的内存中。

shared_ptr

将引用计数智能指针回绕在动态分配的对象周围。

unique_ptr

存储指向拥有的对象的指针。 指针不归任何其他 unique_ptr 所拥有。 当所有者被销毁后,unique_ptr 也会被销毁。

weak_ptr

回绕弱链接指针。

专用化

allocator<void>

一种针对 void 类型进行的模板类分配器专用化,用于定义在此专用化上下文中有意义的成员类型。

请参见

参考

C++ 标准库中的线程安全

其他资源

memory 成员

C++ 标准库头文件