专门的 <memory> 算法
来自 zh.cppreference.net
在算法库中,一些函数模板在未初始化的内存缓冲区中构造和销毁对象。它们在 <memory> 中声明和定义。
辅助模板
获取给定左值对象的 void* 指针(仅用于阐述的函数模板*) | |
(C++17) |
解引用迭代器,如果是左值则移动其结果 (仅用于阐述的函数模板*) |
(C++20)(C++20)(C++26)(C++26) |
指定迭代器上的某些操作是不抛出的 (仅用于阐述的概念*) |
(C++20)(C++26) |
指定哨兵上的某些操作是不抛出的 (仅用于阐述的概念*) |
(C++20)(C++20)(C++26)(C++26)(C++26) |
指定范围上的某些操作是不抛出的 (仅用于阐述的概念*) |
对象(批量)构造
在头文件
<memory> | |
(C++20) |
在给定地址创建对象 (函数模板 & 算法函数对象) |
(C++20) |
|
| 将对象范围复制到未初始化的内存区域 (函数模板 & 算法函数对象) | |
(C++20) |
|
(C++11) |
将指定数量的对象复制到未初始化的内存区域 (函数模板 & 算法函数对象) |
(C++20) |
|
| 将对象复制到由范围定义的未初始化内存区域 (函数模板 & 算法函数对象) | |
(C++20) |
|
| 将对象复制到由起始和计数定义的未初始化内存区域 (函数模板 & 算法函数对象) | |
(C++20) |
|
(C++17) |
将对象范围移动到未初始化的内存区域 (函数模板 & 算法函数对象) |
(C++20) |
|
(C++17) |
将指定数量的对象移动到未初始化的内存区域 (函数模板 & 算法函数对象) |
(C++20) |
|
| 通过 默认初始化 在由范围定义的未初始化内存区域中构造对象 (函数模板 & 算法函数对象) | |
| 通过 默认初始化 在由起始和计数定义的未初始化内存区域中构造对象 (函数模板 & 算法函数对象) | |
| 通过 值初始化 在由范围定义的未初始化内存区域中构造对象 (函数模板 & 算法函数对象) | |
| 通过 值初始化 在由起始和计数定义的未初始化内存区域中构造对象 (函数模板 & 算法函数对象) | |
对象(批量)销毁
在头文件
<memory> | |
(C++17) |
销毁给定地址处的对象 (函数模板 & 算法函数对象) |
(C++20) |
|
(C++17) |
销毁一个范围内的对象 (函数模板 & 算法函数对象) |
(C++20) |
|
(C++17) |
销毁范围内指定数量的对象 (函数模板 & 算法函数对象) |
(C++20) |
|