第一讲:STL体系结构介绍
主要用于了解stl各种容器的内部构造,熟悉使用c++容器,并了解其底层原理。
第一讲:STL体系结构介绍
c++标准库 vs c++ Standard Library
总体来说 c++标准库 > c++ Standard Library
标准库以头文件(.h)的形式呈现:
- c++标准库的header files不带副档名(.h), 例如#include
- 新式c header files 不带副档名(.h),例如 #include
- 旧式c header files 带有副档名(.h)仍然可用,例如 #include <stdio.h>
- 新式headers内的组件封装为 namespace “std”
- using namespace std;(相当于把std文件全部打开)
- using std::cout;
- 旧式headers内的组件不封装在namespace “std”
demo:
|
|
重要的网站(c++标准库)
STL六大部件
- 容器(containers)
- 分配器(allocators)
- 算法(algorithms)
- 迭代器(iterators)
- 适配器(addpters)
- 仿函数(functors)
六大部件的关系:
- 容器可以使我们不用管c++的内存,分配器支持容器进行内存管理。
- 容器的数据操作使用算法,访问数据使用迭代器,迭代器(类似于指针)是算法操作容器内部数据的桥梁。
- 仿函数类似于函数,暂时可以用函数来理解。
- 适配器是用来转换的,可以对容器,仿函数,迭代器进行转换。
模版编程和面向对象编程的区别
- 模版编程的算法另外封装,而面向对象中将操作数据的算法(或者称为函数)封装在类的内部。
demo:
|
|
使用前闭后开区间
也就是所谓的 “[ )”
范例:
适度使用auto(c++11引入):
最后修改于 2022-04-07
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。