CC++ 标准库与标准模板库(STL)简介
C++ 标准库与标准模板库(STL)简介
- C++ 标准库
C++ 标准库是使用 C++ 编程语言时的一组基础库,它不需要额外安装,作为 C++ 的核心部分提供了大量功能。
标准库包括:- 标准模板库(STL)
- C 标准库的扩展
- 其他 C++ 特有的库
-
标准模板库(STL)
STL 是 C++ 标准库的一个重要部分,专注于数据结构和算法的实现。
STL 的内容主要包含以下几个头文件:- 容器:如
<vector>
、<deque>
、<list>
、<queue>
、<stack>
、<map>
、<set>
等。 - 算法:如
<algorithm>
、<numeric>
。 - 迭代器:如
<iterator>
。 - 其他工具:如
<memory>
、<utility>
、<functional>
等。
常见的 STL 头文件列表:
<algorithm>, <deque>, <functional>, <iterator>, <vector>, <list>, <map>, <memory>, <numeric>, <queue>, <set>, <stack>, <utility>
- 容器:如
-
C++ 标准库对 C 标准库的支持
C++ 标准库还包含了对 C 标准库的支持,并进行了扩展。
在 C 中,标准库头文件的格式是#include <xxx.h>
,而在 C++ 中,可以继续使用这种格式,但推荐使用#include <cxxx>
。
C++ 标准库将 C 标准库中的符号放置在std
命名空间下,以避免命名冲突。C++ 中的 C 标准库头文件:
<cassert>, <cctype>, <cerrno>, <cfenv>, <cfloat>, <cinttypes>, <ciso646>, <climits>, <clocale>, <cmath>, <csetjmp>, <csignal>, <cstdarg>, <cstdbool>, <cstddef>, <cstdint>, <cstdio>, <cstdlib>, <cstring>, <ctgmath>, <ctime>, <cuchar>, <cwchar>, <cwctype>
- 命名空间
std
C++ 标准库中的所有内容都定义在命名空间std
中。因此,使用标准库时需要通过std::
来访问,例如:std::vector
、std::cout
。
也可以使用using namespace std;
或using std::vector;
以简化书写。
通过以上内容,C++ 标准库和标准模板库(STL)的关系与使用方式就更清晰了:
- STL 是标准库的一部分,提供容器、算法、迭代器等核心功能。
- C++ 标准库还包含了对 C 标准库的兼容支持及扩展。
参考来源
https://www.cnblogs.com/maycpou/p/14190704.html