TinySTL设计与实现

概述

学习和理解template 和STL 的最好方式就是自己用template 造一个STL(俗称造轮子),然后不断对比自己版本的STL与标准版本的STL(sgi STL 或者其它版本),不断重构自己的版本,使自己的版本达到或者超过标准库版本。

计划

  1. 实现Containers Library (中的一种或几种)
  2. 实现Algorithms Library (中的一种或几种)
  3. 实现String Library ,并替换前面实现部分中的std::string (如果有使用到)为自己的版本;
  4. 编译为dll/lib/so 文件,供自己他人使用
  5. 引入Google Test 框架,完善测试代码,注释,不断重构,提升自己实现版本性能(达到或超过标准库);

接口实现尽量与标准库保持一致,参考cppreference

由于工作的原因,投入的时间不固定,所以TinySTL的设计与实现会是一个相对比较长期的过程。

在实现过程中会通过一系列文章总结,分享自己在实现中遇到的各种问题,各种坑。

项目地址

Github:TinySTL

进度

2016.3.20 , vector 完成,参考 TinySTL 之vector 设计,实现与中间的坑