C++标准库与STL的关系

时间:2022-10-16 16:00:19

C++标准库与STL的关系

STL即标准模板库(Standard Template Library),它包括五大类组件:算法、容器、迭代器、函数对象、适配器。

STL是C++标准库的一部分,但不是全部。C++标准库是std名字空间中的所有内容,就是那些不带.h的头文件,如<cstdio>、<iostream>。如std::string,及IO流都不属于STL,但它们是STL兼容的,可以应用迭代器,算法等。虽然std::string和IO流也是模板类,但并不属于STL。

STL的实现,如STLPort中包括了IO流,string类等,其实不能确切的称为STL实现,而是比STL更大的库实现。但是某些STL类没有在标准库中实现,如hash map,STLPort中实现了。C++标准库包含一个STL的实现,但该实现是标准STL的子集。

(转载请注明来源于金庆的专栏)