MyTinySTL README

The project's README from github.com/Alinshans/MyTinySTL. As one markdown file: README.md.

MyTinySTL

Build Status Build Status Release License Chat

简介

基于 C++11 的 tinySTL,这是我的第一个项目,使用了中文文档与中文注释,有不规范或不当的地方还请海涵。刚开始是作为新手练习用途,直到现在已经发布了 2.x.x 版本。实现了大部分 STL 中的容器与函数,但仍存在许多不足与 bug 。从 2.x.x 版本开始,本项目会进入长期维护的阶段,即基本不会增加新的内容,只修复发现的 bug。如发现错误,还请在 Issues 中指出,欢迎 Fork 和 Pull requests 改善代码,谢谢!

支持

需要

运行

如果你想要运行测试,请先阅读 这个 。

  1. 克隆仓库
$ git clone [email protected]:Alinshans/MyTinySTL.git
$ cd MyTinySTL
  1. 构建并运行
$ mkdir build && cd build
$ cmake ..
$ make
$ cd ../bin && ./stltest
  1. 克隆仓库或 Download ZIP
  2. 使用 vs2015(或 vs2017)打开 MSVC/MyTinySTL_VS2015.sln,配置成 Release 模式,(Ctrl + F5)开始执行。

文档

见 Wiki。

测试

见 Test。


Introduction

This is a tinySTL based on C++11, which is my first project for practice. I use the Chinese documents and annotations for convenience, maybe there will be an English version later, but now I have no time to do that yet. Now I have released version 2.0.0. I have achieved the vast majority of the containers and functions of STL, and there may be some deficiencies and bugs. From the version 2.x.x, the project will enter the stage of long-term maintenance, i.e., I probably will not add new content but only fix bugs found. If you find any bugs, please point out that in Issues, or make a Pull requests to improve it, thanks!

Supported

Required

Run test

If you want to run the test, please read this first.

  1. git clone
$ git clone [email protected]:Alinshans/MyTinySTL.git
$ cd MyTinySTL
  1. build and run
$ mkdir build && cd build
$ cmake ..
$ make
$ cd ../bin && ./stltest
  1. git clone or Download ZIP
  2. use vs2015(or vs2017) open the file MSVC/MyTinySTL_VS2015.sln, configured in Release, run this project(Ctrl + F5).

Documents

See Wiki.

Test

See Test.

MyTinySTL (Alinshans/MyTinySTL)

Searching Database…

12.5K ·GitHub
Что это такое?Небольшая реализация стандартной библиотеки шаблонов C++ (STL), написанная с нуля на C++11 — включает большинство стандартных контейнеров и алгоритмов. Автор начинал её как свой первый учебный проект, сейчас версия 2.x.x.
Это библиотека, которую можно собрать и подключить к своему коду, или просто исходники для чтения?Это библиотека на C++, которую вы собираете из репозитория — cmake необязателен, установки через пакетный менеджер нет. Поскольку проект начинался как учебное упражнение, относитесь к нему как к обучающему коду, а не как к зависимости, готовой для продакшена.
Как её собрать и запустить?На Linux/macOS склонируйте репозиторий и соберите (cmake необязателен); на Windows откройте MSVC/MyTinySTLVS2015.sln в Visual Studio 2015/2017, выберите Release и запустите по Ctrl+F5. Инструкции по тестам лежат в каталоге Test.
Какие компиляторы нужны?g++ 5.4+, clang++ 3.5+ или MSVC 14.0+ (Visual Studio 2015 или новее). Для сборки можно использовать cmake 2.8, но он необязателен.
Он такой же полный и надёжный, как стандартная библиотека?Нет — он покрывает подавляющее большинство контейнеров и функций STL, но автор отмечает, что ещё могут быть недочёты и баги, так что это не проверенная в боях замена std.
Хороший ли это способ разобраться, как устроен STL внутри?Да — проект писался как учебное упражнение для начинающих, поэтому код задуман так, чтобы его читали и изучали не меньше, чем использовали.
Собрать можно и на Windows, или это только для Linux?Официально поддерживаются Linux, Windows и macOS, с отдельными путями сборки для gcc/clang и MSVC.
Проект ещё активно развивается?Начиная с версии 2.x.x проект находится в режиме долгосрочного сопровождения: новых функций не планируется, только исправления найденных багов, о которых просят сообщать в Issues.
Нужно ли знать китайский, чтобы получить от проекта максимум?Документация, Wiki и комментарии в коде на китайском; в README есть раздел на английском, и автор говорит, что английская версия может появиться позже. Для более глубоких материалов китайский пригодится.
Creator
Alinshans
Size
2.6 MB
Stars
12.5K
Age
10y
Commits · 90 Days