utx201777 / TinySTL

参考侯捷的STL源码解析,实现的基础的STL容器

Home Page:https://blog.csdn.net/hu694028833/article/details/81173976

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TinySTL

空间配置器

  1. 使用两级空间配置器,如果申请的空间小于128字节,使用内存池的内存分配,如果大于128字节,直接使用malloc分配Alloc.h
  2. SimpleAllocate.hAlloc.h进行封装,外部提供申请空间,构建,析构,释放空间的接口。其中构建使用的是placement new,析构直接调用析构函数

vector

  1. 使用SimpleAllocate.h进行空间配置,会将容量设置为元素个数的两倍,如果容量不足,重新分配,迭代器失效。
  2. 提供size()empty()push_back()pop_back()等接口并提供迭代器访问

set

  1. 底层使用BST实现,后面会改成AVL树或者RB树,空间配置使用SimpleAllocate.h
  2. 提供前后访问的迭代器
  3. 已经改用AVL树实现

stack

  1. 底层使用vector,封装只有尾部可以读写。

string

  1. 提供string的常用操作
  2. 重载输入输出符

About

参考侯捷的STL源码解析,实现的基础的STL容器

https://blog.csdn.net/hu694028833/article/details/81173976


Languages

Language:C++ 100.0%