指针特征

pointer_traits

(C++11)

提供关于指针式类型的信息
(类模板)

垃圾收集器支持

pointer_safety

(C++11)

列出指针安全模式
(枚举)

分配器

allocator

默认的分配器
(类模板)

allocator_traits

(C++11)

提供关于分配器类型的信息
(类模板)

allocator_arg_t

(C++11)

标签类型,用于选择具分配器的构造函数重载
(类)

allocator_arg

(C++11)

用于选择具分配器的构造函数的 std::allocator_arg_t 对象
(常量)

uses_allocator

(C++11)

检查指定的类型是否支持使用分配器的构造
(类模板)

未初始化存储

raw_storage_iterator

(C++17 中弃用)(C++20 中移除)

允许标准算法存储结果于未初始化内存的迭代器
(类模板)

智能指针

unique_ptr

(C++11)

拥有独有对象所有权语义的智能指针
(类模板)

shared_ptr

(C++11)

拥有共享对象所有权语义的智能指针
(类模板)

weak_ptr

(C++11)

到 std::shared_ptr 所管理对象的弱引用
(类模板)

auto_ptr

(C++17 中移除)

拥有严格对象所有权语义的智能指针
(类模板)

辅助类

std::atomic<std::shared_ptr>

(C++20)

原子共享指针
(类模板特化)

std::atomic<std::weak_ptr>

(C++20)

原子弱指针
(类模板特化)

owner_less

(C++11)

提供基于所有者的,共享指针和弱指针的混合类型的排序
(类模板)

enable_shared_from_this

(C++11)

允许对象创建指代自身的 shared_ptr
(类模板)

bad_weak_ptr

(C++11)

访问指向已销毁对象的 weak_ptr 时抛出的异常
(类)

default_delete

(C++11)

unique_ptr 的默认删除器
(类模板)

std::hash<std::unique_ptr>

(C++11)

std::unique_ptr 的散列支持
(类模板特化)

std::hash<std::shared_ptr>

(C++11)

std::shared_ptr 的散列支持
(类模板特化)

函数

杂项

to_address

(C++20)

从指针式类型获得裸指针
(函数模板)

addressof

(C++11)

获得对象的实际地址,即使其重载了 & 运算符
(函数模板)

align

(C++11)

对齐缓冲区中的指针
(函数)

assume_aligned

(C++20)

告知编译器指针已对齐
(函数模板)

垃圾收集器支持

declare_reachable

(C++11)

声明一个对象不能被回收
(函数)

undeclare_reachable

(C++11)

声明一个对象可以被回收
(函数模板)

declare_no_pointers

(C++11)

声明该内存区域不含可追踪指针
(函数)

undeclare_no_pointers

(C++11)

取消 std::declare_no_pointers 的效果
(函数)

get_pointer_safety

(C++11)

返回当前的指针安全模式
(函数)

未初始化存储

uninitialized_copy

将范围内的对象复制到未初始化的内存区域
(函数模板)

uninitialized_copy_n

(C++11)

将指定数量的对象复制到未初始化的内存区域
(函数模板)

uninitialized_fill

复制一个对象到以范围定义的未初始化内存区域
(函数模板)

uninitialized_fill_n

复制一个对象到以起点和计数定义的未初始化内存区域
(函数模板)

uninitialized_move

(C++17)

移动一个范围的对象到未初始化的内存区域
(函数模板)

uninitialized_move_n

(C++17)

移动一定数量对象到未初始化内存区域
(函数模板)

uninitialized_default_construct

(C++17)

在范围所定义的未初始化的内存区域以默认初始化构造对象
(函数模板)

uninitialized_default_construct_n

(C++17)

在起始和计数所定义的未初始化内存区域用默认初始化构造对象
(函数模板)

uninitialized_value_construct

(C++17)

在范围所定义的未初始化内存中用值初始化构造对象
(函数模板)

uninitialized_value_construct_n

(C++17)

在起始和计数所定义的未初始化内存区域以值初始化构造对象
(函数模板)

destroy_at

(C++17)

销毁在给定地址的对象
(函数模板)

destroy

(C++17)

销毁一个范围中的对象
(函数模板)

destroy_n

(C++17)

销毁范围中一定数量的对象
(函数模板)

get_temporary_buffer

(C++17 中弃用)(C++20 中移除)

获得未初始化存储
(函数模板)

return_temporary_buffer

(C++17 中弃用)(C++20 中移除)

释放未初始化存储
(函数模板)

智能指针非成员操作

make_uniquemake_unique_for_overwrite

(C++14)(C++20)

创建管理一个新对象的独占指针
(函数模板)

operator==operator!=operator<operator<=operator>operator>=operator<=>

(C++20 中移除)(C++20)

与另一个 unique_ptr 或 nullptr 进行比较
(函数模板)

make_sharedmake_shared_for_overwrite

(C++20)

创建管理一个新对象的共享指针
(函数模板)

allocate_sharedallocate_shared_for_overwrite

(C++20)

创建管理一个用分配器分配的新对象的共享指针
(函数模板)

static_pointer_castdynamic_pointer_castconst_pointer_castreinterpret_pointer_cast

(C++17)

应用 static_castdynamic_castconst_cast 或 reinterpret_cast 到被存储指针
(函数模板)

get_deleter

返回指定类型中的删除器,若其拥有
(函数模板)

operator==operator!=operator<operator<=operator>operator>=operator<=>

(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)

与另一个 shared_ptr 或 nullptr 进行比较
(函数模板)

operator<<

将存储的指针的值输出到输出流
(函数模板)

std::swap(std::unique_ptr)

(C++11)

特化 std::swap 算法
(函数模板)

std::swap(std::weak_ptr)

(C++11)

特化 std::swap 算法
(函数模板)

std::swap(std::shared_ptr)

(C++11)

特化 std::swap 算法
(函数模板)

Niebloid

定义于命名空间 std::ranges

未初始化存储

ranges::uninitialized_copy

(C++20)

复制元素范围到未初始化的内存区域
(niebloid)

ranges::uninitialized_copy_n

(C++20)

复制一定量元素到未初始化的内存区域
(niebloid)

ranges::uninitialized_fill

(C++20)

复制一个对象到范围所定义的未初始化的内存区域
(niebloid)

ranges::uninitialized_fill_n

(C++20)

复制一个对象到起始与计数所定义的未初始化的内存区域
(niebloid)

ranges::uninitialized_move

(C++20)

移动对象范围到未初始化的内存区域
(niebloid)

ranges::uninitialized_move_n

(C++20)

移动一定量对象到未初始化的内存区域
(niebloid)

ranges::uninitialized_default_construct

(C++20)

在范围所定义的未初始化的内存区域以默认初始化构造对象
(niebloid)

ranges::uninitialized_default_construct_n

(C++20)

在起始与计数所定义的未初始化的内存区域以默认初始化构造对象
(niebloid)

ranges::uninitialized_value_construct

(C++20)

在范围所定义的未初始化的内存区域以值初始化构造对象
(niebloid)

ranges::uninitialized_value_construct_n

(C++20)

在起始与计数所定义的未初始化的内存区域以值初始化构造对象
(niebloid)

ranges::destroy_at

(C++20)

销毁位于给定地址的元素
(niebloid)

ranges::destroy

(C++20)

销毁范围中的元素
(niebloid)

ranges::destroy_n

(C++20)

销毁范围中一定量的元素
(niebloid)

参考链接

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐