STL:标准模板库
1.STL
2.引子
2.1 C语言中存在基础类型(int、float、char等)和自定义类型(struct)
2.2 C++中也是存在基础类型和自定义类型(类),但是C++在自定义类型中做了扩展,不仅存放了基础类型,也可以在类中使用函数——你们可以看一下我写的这篇文章《struct和C++的类》,虽然技术含量不高,但是可以推演祖师爷创建C++的一些思想;
2.3 1979年,贝尔实验室的本贾尼等人试图分析unix内核的时候,试图将内核模块化,于是在C语言的基础上进行扩展,增加了类的机制,完成了一个可以运行的预处理程序,称之为 C with classes。
2.4 1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计
2.5 1980年初,惠普实验室的大佬,提出了标准模板库的概念——也就是泛型编程;
2.6 直到1998年,STL才被纳入C++标准;(C++标准第一个版本,绝大多数编译器都支持,得到了国际标准化组织(ISO)和美国标准化协会认可,以模板方式重写C++标准库,引入了STL(标准模板库))
2.7 类的出现标志了程序员可以使用相同的代码来完成相似的工作; 于是,引出了标准模板库的概念; 程序员可以使用标准模版,并通过一定的改造;来实现程序员想实现的功能;
3.STL的六大组件
仿函数、算法、迭代器、空间配置器、容器、容器适配器;
此六者相辅相成,只能通过实例来相互验证;以我的能力无法说明;抱歉;