任务:阅读C++11及其之后标准或STL源代码,选择其中的一个内容或一部分内容进行学习,形成研究报告。
说明:STL源码(Standard Template Library 标准库模板)实际上就是数据结构,比如:stack栈、list链表、queue队列、set集合等,所以分析 STL源码就是分析这些数据结构。
实验指南
一、打开 C语言中文网,选择你想要分析 STL。
二、阅读官方对 STL的解释,例如:
#创建一个会返回临时 map 对象的函数
std::map<std::string,int> disMap() {
std::map<std::string, int>tempMap{
{
"C语言教程",10},{
"STL教程",20} };
return tempMap;
}
//调用 map 类模板的移动构造函数创建 newMap 容器
std::map<std::string, int>newMap(disMap());
三、自己编写源码分析。例如:
番外篇:如何查看 stack、list、map等类的 C++源码?
- 打开任意一个C++文件,编写想查看的容器头文件代码。(例如这里我想查看 vector容器与 stack容器的代码)
- 按住键盘ctrl键 加 鼠标点击容器名,即可进入源码(源码可能有几千行)。