Skip to content

Latest commit

 

History

History
51 lines (28 loc) · 2.46 KB

08-stl.md

File metadata and controls

51 lines (28 loc) · 2.46 KB

项目链接:

https://github.com/nemo294840653/STL-TEAMWORK.git

成员姓名与github用户名:

姓名 身份 github用户名
郑值 队长 nemo294840653
王新 队员 waxin

项目简介:

本项目是2017年秋季学期编译原理(H)课程teamwork,项目的主要研究对象是STL。项目的主要内容包括STL的基本使用方法,SGI STL的源码分析, 以及STL源码的仿写。三部分相关文档和代码分别位于basic use,Sources analysis和imitative writing三个目录中。

12月23日提交内容

主要对STL进行了一个概述。内容详见位于仓库basic-use文件夹中的文档。

任务分工:王新主要负责容器与迭代器部分,郑值主要负责算法部分。

成员讨论方式:以QQ线上讨论为主,研讨室见面讨论为辅。时长零散,估计约有一小时。

进展情况:介绍了STL的基本用法,主要包括容器,迭代器,算法三个方面。容器部分详细介绍了常见的序列容器vector, list,deque, 以及常用关联容器map和set。迭代器部分介绍了Iterator模式与应用,将在下一步源码分析中详细说明实际实现。算法部分介绍了常见的质变算法与非质变算法,并解释了如何使用泛型技术来使算法独立于数据结构与数据类型。

下一步计划:准备开始对SGI STL源码的分析,以及尝试手工实现STL的部分功能。

参考文献:《C++ primer》,《STL源码剖析》

1月3日提交内容

对SGI STL的空间配置器和迭代器源码进行了详细分析,初步分析序列式容器的源码。内容详见位于仓库Sources-analysis文件夹中的文档。

任务分工:王新主要负责序列式容器部分,郑值主要负责空间配置器和迭代器部分。

成员讨论方式:QQ线上讨论,约半小时。

下一步计划:继续进行对SGI STL源码的分析,若时间充裕尝试手工实现STL的部分功能。

参考文献:《STL源码剖析》

1月13日提交内容

完成了对三种序列式容器的源码分析,完成了vector和list的源码仿写。内容详见位于仓库Sources-analysis文件夹中的文档,以及imitative-writing文件夹中的代码。

任务分工:王新主要负责源码仿写部分,郑值主要负责源码分析和制作报告ppt。

成员讨论方式:QQ线上讨论,总时间约一小时。