- 使用两级空间配置器,如果申请的空间小于128字节,使用内存池的内存分配,如果大于128字节,直接使用malloc分配
Alloc.h
SimpleAllocate.h
对Alloc.h
进行封装,外部提供申请空间,构建,析构,释放空间的接口。其中构建使用的是placement new
,析构直接调用析构函数
- 使用
SimpleAllocate.h
进行空间配置,会将容量设置为元素个数的两倍,如果容量不足,重新分配,迭代器失效。 - 提供
size()
,empty()
,push_back()
,pop_back()
等接口并提供迭代器访问
- 底层使用BST实现,后面会改成AVL树或者RB树,空间配置使用
SimpleAllocate.h
- 提供前后访问的迭代器
- 已经改用AVL树实现
- 底层使用
vector
,封装只有尾部可以读写。
- 提供
string
的常用操作 - 重载输入输出符