【C++】STL概览

1. 泛型编程GP与面向对象OOP

GP(Generic Programming)就是使用模板template为主要工具来编写程序。
OOP(Object-Oriented Programming)面向对象编程就是使用继承,利用虚函数实现的多态技术编写程序。
GP与OOP最大的区别就是
GP试图将datas和methods分开
OOP试图将datas和methods关联起来

2. C++ Standard Library vs. Standard Template Library

C++ Standard Library——C++标准库(包括STL,范围比STL大)
STL(Standard Template Library)——C++标准模板库(主要包括六大部件)
STL是泛型编程最成功的作品。
STL六大部件
容器(Containers)
分配器(Allocators)
算法(Algorithms)
迭代器(Iterators)
适配器(Adapters)
仿函数(Functors)

【C++】STL概览_第1张图片
STL六大部件关系图
【C++】STL概览_第2张图片
STL六大部件使用示例

3. 我们的目标:

level 0:使用C++标准库
level 1:了解C++标准库(胸中自有丘壑)
level 2:良好使用C++标准库
level 3:扩充C++标准库

4. C++头文件

STL主要以头文件的形式存在

使用C++的头文件的方式:(不带.h后缀名)

#include 

使用C的头文件的方式:(可以带也可以不带,如果不带要在前面加“c”)

#include 

或者

#include 

命名空间std(standard的缩写)

新式头文件内的组件都封装在叫做std的命名空间中,使用库函数或者组件式要显示声明使用std名字空间或者std空间中的某些组件:

using namespace std; //一次开放所有 (推荐)

或者

using std::cout; //一个一个的打开

旧式的头文件不包含在std命名空间内

5. C++标准库的版本

Visual C++系列
Dev C++ 5.11(使用的是GNU4.9.2版本)

linux下g++版本

6. 时间复杂度

7. “前闭后开”区间

【a, b】前闭后闭区间 a <= x <= b
【a, b)前闭后开区间 a <= x < b
(a, b)前开后开区间 a < x < b
标准库规定,STL所有容器的头尾指针满足前闭后开区间。即:
c.begin() —— 指向第一个元素
c.end() ——指向最后一个元素的下一个位置

你可能感兴趣的:(【C++】STL概览)