c++实现一个简单的空间配置器allocator
c++中内存分配和对象构造是分开来的,内存的分配类似malloc函数在内存空间开辟一段空间,但是里面不保存任何数据。对象的构造相当于给这段空间复制。
这么做的理由有两点:
- 在预先分配的内存中构造对象很浪费,可能创建从不使用的对象,当实际使用预先分配的对象时,被使用的对象往往又必须重新赋以新值。
- 如果预分配的内存必须被构造,某些类就不能使用它。(?不理解)
C++中内存分配一般有三个层次:
- 使用new创建对象, delete删除对象