Giter Club home page Giter Club logo

easystl's Introduction

EasySTL,实现自己的STL

学习C++离不开学习STL,除了阅读经典的《STL源码剖析》,也要自己动手编写代码。该项目将持续更新,这也是我未来几个月实习空闲时间要做的事,加油~

2017.01.18 EasySTL就以Map的实现年前暂时告一段落,谢谢各位的支持 鸡年规划:周末时间,部分algorithm的实现,复习前面的内存配置,迭代器的实现,好好理解模板编程

要点

  • c++11
  • g++ makefile编写
  • c++ google code style
  • 模板编程
  • 内存管理,数据结构

###STL文件关系树

关系树


环境

  • ubuntu 14.04
  • g++ 4.8.8
  • sublime
  • c++11

###使用

  1. 下载代码Github. 如果有帮助请帮我点star :)
  2. main.cpp可以修改要测试的容器或算法
  3. 根目录下运行 make
  4. 运行test.exe

###TODO Continue...

基本

  1. allocator 空间配置器 done
  2. typetraits 类型萃取器 done
  3. iterator 迭代器 done
  4. construct 对象构造器 done
  5. alogritm 算法库 doing
  6. unitialized 容器构造器 done

容器

  1. vector done 2016.7.09 done
  2. list done 2016.7.23 done
  3. string
  4. deque 2016.12.24 done
  5. set 2017.01.17 done
  6. map 2017.01.18 done

算法

  1. heap done
  2. rbtree done
  3. Qsort TODO

###测试

  1. vector 构造功能,列表初始化,插入功能,clear功能,迭代器功能 ok
  2. list 构造功能,插入功能,clear功能,迭代器功能,reverse, merge, sort(插入排序) ok

easystl's People

Contributors

hunterzhao avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.