空间配置器
用于管理动态内存分配和释放,STL 容器类(如 std::vector
, std::list
, std::map
等)都使用配置器来管理内存。它有非常重要的特点:
- 将容器的内存开辟和对象构造分离开
- 将容器的对象析构和内存释放分离开
这样能够高效的插入元素以及删除元素
vector
STL中典型的容器vector采用标准空间配置器进行初始化容器,对象在元素中的构造,元素的析构,以及容器内存的释放,运用了模板、定位new等技术
代码实现,ps:建议自己手敲两遍, 加深自己对模板、new、malloc、free、指针、拷贝构造以及赋值运算符重载函数的理解,个人认为这是非常好的代码示例的学习,运用了多个技术
#include <iostream>
template<typename T>
class Allocator
{
public:
// 没有实现构造(不需要),自动采用默认构造
// 内存开辟
T* al
标签:std,容器,元素,back,C++,vector,内存,构造
From: https://blog.csdn.net/m0_71124168/article/details/141131587