动态内存管理
来自cppreference.com
                    
                                        
                    < cpp
                    
                                                            
                    智能指针
智能指针使得自动、异常安全的对象生存期管理可行。
|   定义于头文件  
<memory>  | |
 指针类别 | |
|    (C++11)  | 
  拥有独有对象所有权语义的智能指针   (类模板)  | 
|    (C++11)  | 
   拥有共享对象所有权语义的智能指针   (类模板)  | 
|    (C++11)  | 
   到 std::shared_ptr 所管理对象的弱引用   (类模板)  | 
|    (C++17 中移除)  | 
  拥有严格对象所有权语义的智能指针  (类模板)  | 
 辅助类 | |
|    (C++11)  | 
   提供基于所有者的,共享指针和弱指针的混合类型的排序  (类模板)  | 
|    (C++11)  | 
   允许对象创建指代自身的 shared_ptr (类模板)  | 
|    (C++11)  | 
   访问指向已销毁对象的 weak_ptr 时抛出的异常  (类)  | 
|    (C++11)  | 
   unique_ptr 的默认删除器  (类模板)  | 
分配器
分配器是封装内存分配策略的类模板。这允许泛型容器从数据自身将内存管理解耦合。
|   定义于头文件  
<memory>  | |
|    默认的分配器   (类模板)  | |
|    (C++11)  | 
   提供关于分配器类型的信息   (类模板)  | 
|    (C++11)  | 
   标签类型,用于选择具分配器的构造函数重载  (类)  | 
|    (C++11)  | 
   用于选择具分配器的构造函数的 std::allocator_arg_t 对象  (常量)  | 
|    (C++11)  | 
   检查指定的类型是否支持使用分配器的构造   (类模板)  | 
|    准备匹配给定类型所要求的使用分配器构造的口味的参数列表   (函数模板)  | |
|    (C++20)  | 
   以使用分配器构造的手段创建给类型的对象   (函数模板)  | 
|    以使用分配器构造的手段在指定的内存位置创建给定类型的对象   (函数模板)  | |
|   定义于头文件  
<scoped_allocator>  | |
|    (C++11)  | 
   为多级容器实现的多级分配器   (类模板)  | 
|   定义于头文件  
<memory_resource>  | |
|   定义于命名空间  
std::pmr | |
|    (C++17)  | 
   以 std::memory_resource 构造,支持基于它的运行时多态的分配器  (类模板)  | 
内存资源
内存资源实现可为 std::pmr::polymorphic_allocator 所用的内存分配策略
|   定义于头文件  
<memory_resource>  | |
|   定义于命名空间  
std::pmr | |
|    (C++17)  | 
   一个抽象接口,用于各种封装内存资源的类  (类)  | 
|    (C++17)  | 
   返回一个静态的程序范围 std::pmr::memory_resource,它使用全局 operator new 与 operator delete 分配和解分配内存  (函数)  | 
|    (C++17)  | 
   返回一个不进行任何分配的静态 std::pmr::memory_resource   (函数)  | 
|    (C++17)  | 
   获取缺省 std::pmr::memory_resource  (函数)  | 
|    (C++17)  | 
   设置缺省 std::pmr::memory_resource  (函数)  | 
|    (C++17)  | 
  一组池资源的构造函数选项  (类)  | 
|    (C++17)  | 
   线程安全的 std::pmr::memory_resource,用于管理具有不同块大小的池中的分配  (类)  | 
|    (C++17)  | 
   线程不安全的 std::pmr::memory_resource,用于管理具有不同块大小的池中的分配  (类)  | 
|    (C++17)  | 
   一种特殊用途的 std::pmr::memory_resource,仅在资源被销毁时才释放所分配内存   (类)  | 
未初始化存储
提供数个工具以创建并访问未初始化存储。
|   定义于头文件  
<memory>  | |
|    (C++17 中弃用)(C++20 中移除)  | 
  允许标准算法存储结果于未初始化内存的迭代器  (类模板)  | 
|    (C++17 中弃用)(C++20 中移除)  | 
  获得未初始化存储  (函数模板)  | 
|    (C++17 中弃用)(C++20 中移除)  | 
  释放未初始化存储  (函数模板)  | 
未初始化内存算法
|   定义于头文件  
<memory>  | |
|    将范围内的对象复制到未初始化的内存区域   (函数模板)  | |
|    (C++11)  | 
   将指定数量的对象复制到未初始化的内存区域   (函数模板)  | 
|   复制一个对象到以范围定义的未初始化内存区域  (函数模板)  | |
|   复制一个对象到以起点和计数定义的未初始化内存区域  (函数模板)  | |
|    (C++17)  | 
   移动一个范围的对象到未初始化的内存区域   (函数模板)  | 
|    (C++17)  | 
   移动一定数量对象到未初始化内存区域  (函数模板)  | 
|    在范围所定义的未初始化的内存区域以默认初始化构造对象  (函数模板)  | |
|    在起始和计数所定义的未初始化内存区域用默认初始化构造对象  (函数模板)  | |
|    在范围所定义的未初始化内存中用值初始化构造对象  (函数模板)  | |
|    在起始和计数所定义的未初始化内存区域以值初始化构造对象  (函数模板)  | |
|    (C++17)  | 
   销毁在给定地址的对象   (函数模板)  | 
|    (C++17)  | 
   销毁一个范围中的对象   (函数模板)  | 
|    (C++17)  | 
   销毁范围中一定数量的对象   (函数模板)  | 
|    (C++20)  | 
   在给定地址创建对象   (函数模板)  | 
受约束的未初始化内存算法 (C++20)
C++20 提供受约束的未初始化内存算法,它们接受范围参数或迭代器-哨位对。
|   定义于头文件  
<memory>  | |
|   定义于命名空间  
std::ranges | |
|    指定迭代器、哨位和范围上的某些操作不抛出  (仅用于阐释的概念)  | |
|    (C++20)  | 
  复制元素范围到未初始化的内存区域  (niebloid)  | 
|    (C++20)  | 
  复制一定量元素到未初始化的内存区域  (niebloid)  | 
|    (C++20)  | 
  复制一个对象到范围所定义的未初始化的内存区域  (niebloid)  | 
|    (C++20)  | 
  复制一个对象到起始与计数所定义的未初始化的内存区域  (niebloid)  | 
|    (C++20)  | 
  移动对象范围到未初始化的内存区域  (niebloid)  | 
|    (C++20)  | 
  移动一定量对象到未初始化的内存区域  (niebloid)  | 
|   在范围所定义的未初始化的内存区域以默认初始化构造对象  (niebloid)  | |
|   在起始与计数所定义的未初始化的内存区域以默认初始化构造对象  (niebloid)  | |
|   在范围所定义的未初始化的内存区域以值初始化构造对象  (niebloid)  | |
|   在起始与计数所定义的未初始化的内存区域以值初始化构造对象  (niebloid)  | |
|    (C++20)  | 
  销毁位于给定地址的元素  (niebloid)  | 
|    (C++20)  | 
  销毁范围中的元素  (niebloid)  | 
|    (C++20)  | 
  销毁范围中一定量的元素  (niebloid)  | 
|    (C++20)  | 
   在给定地址创建对象   (niebloid)  | 
垃圾收集器支持
|   定义于头文件  
<memory>  | |
|    (C++11)  | 
   声明一个对象不能被回收    (函数)  | 
|    (C++11)  | 
   声明一个对象可以被回收   (函数模板)  | 
|    (C++11)  | 
  声明该内存区域不含可追踪指针  (函数)  | 
|    (C++11)  | 
  取消 std::declare_no_pointers 的效果  (函数)  | 
|    (C++11)  | 
  列出指针安全模式  (枚举)  | 
|    (C++11)  | 
   返回当前的指针安全模式   (函数)  | 
杂项
|   定义于头文件  
<memory>  | |
|    (C++11)  | 
   提供关于指针式类型的信息  (类模板)  | 
|    (C++20)  | 
  从指针式类型获得裸指针  (函数模板)  | 
|    (C++11)  | 
   获得对象的实际地址,即使其重载了 & 运算符   (函数模板)  | 
|    (C++11)  | 
   对齐缓冲区中的指针   (函数)  | 
|    (C++20)  | 
  告知编译器指针已对齐  (函数模板)  | 
C 风格内存管理
包含如 std::malloc 、 std::free