<memory>

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

要求

标头:<memory>

命名空间: std

成员

函数

名称 描述
addressof 获取对象的实际地址。
align 根据所提供的对齐和起始地址,返回指向给定大小范围的指针。
allocate_shared 创建一个 shared_ptr,指向使用指定分配器分配和构造的给定类型的对象。
atomic_compare_exchange_strong
atomic_compare_exchange_weak
atomic_compare_exchange_strong_explicit
atomic_compare_exchange_weak_explicit
atomic_exchange
atomic_exchange_explicit
atomic_is_lock_free
atomic_load
atomic_load_explicit
atomic_store
atomic_store_explicit
const_pointer_cast 常量强制转换为 shared_ptr
declare_no_pointers 通知垃圾回收器:从指定地址开始且属于所指示块大小范围内的字符不包含可跟踪的指针。
declare_reachable 通知垃圾回收器:所指示的地址属于分配的存储并可到达。
default_delete 删除使用 operator new 分配的对象。 适合与 unique_ptr 一起使用。
destroy_at 速记 destroy 方法。
destroy 速记 destroy 方法。
destroy_n 速记 destroy 方法。
dynamic_pointer_cast 动态强制转换为 shared_ptr
get_deleter shared_ptr 获取删除器。
get_pointer_safety 返回任意垃圾回收器所采用的指针安全类型。
get_temporary_buffer 为不超过指定元素数量的元素序列分配临时存储。
make_shared 创建并返回一个 shared_ptr,指向使用默认分配器从零个或多个参数构造的分配对象。
make_unique 创建并返回一个 unique_ptr,指向从零个或多个自变量构建的分配对象。
pointer_safety 一种对 get_pointer_safety 的所有可能返回值的枚举。
return_temporary_buffer 对使用 get_temporary_buffer 模板函数分配的临时内存执行解除分配。
static_pointer_cast 静态强制转换为 shared_ptr
swap 交换两个 shared_ptrweak_ptr 对象。
undeclare_no_pointers 通知垃圾回收器:通过基地址指针和块大小而定义的内存块中的字符现在可包含可跟踪的指针。
undeclare_reachable 通知 garbage_collector:指定的内存位置无法达到。
uninitialized_copy 将来自指定输入范围的对象复制到未初始化的目标范围。
uninitialized_copy_n 创建来自输入迭代器的指定数量的元素的副本。 副本放置在向前迭代器中。
uninitialized_default_construct 速记 uninitialized_default_construct 方法。
uninitialized_default_construct_n 速记 uninitialized_construct 方法。
uninitialized_fill 将具有指定值的对象复制到未初始化的目标范围。
uninitialized_fill_n 将具有指定值的对象复制到未初始化目标范围的指定数量的元素。
uninitialized_move 速记 uninitialized_move 方法。
uninitialized_move_n 速记 uninitialized_move 方法。
uninitialized_value_construct 速记 uninitialized_value_construct 方法。
uninitialized_value_construct_n 速记 uninitialized_value_construct 方法。
uses_allocator_v

运算符

名称 描述
operator!= 测试指定类的分配器对象之间是否不相等。
operator== 测试指定类的分配器对象之间是否相等。
operator>= 测试指定类的某一分配器对象是否大于或等于另一个分配器对象。
operator< 测试指定类的某一对象是否小于另一个对象。
operator<= 测试指定类的某一对象是否小于或等于另一个对象。
operator> 测试指定类的某一对象是否大于另一个对象。
operator<< shared_ptr 插入器。

“属性” 描述
allocator 此类模板描述了一个对象,它用于管理 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_arg_t
default_delete
hash 提供专用于 unique_ptrshared_ptr 的重载。
owner_less 允许对共享指针和弱指针进行基于所有权的混合比较。
uses_allocator

专用化

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

另请参阅

头文件引用
C++ 标准库中的线程安全