C++轮子·STL 简介

大部分人提到 C++ 标准库的时候首先想到的就是STLSTL的全称是Standard Template Library,它背后的技术支撑是模板,由于很多人对于模板本身的不了解,导致很多人对于 STL的理解也非常的片面。有些人把STL等同于容器,有些人把STL等同于标准库。

C++支持非常多的编程范式【1】,C++标准库中用到的基本上是基于对象和泛型这两种(没错,标准库中面向对象其实非常少,没记错的话,只在异常体系中出现过),很明显STL不等同于C++标准库。那是不是说标准库中的泛型部分就属于STL呢?答案也是否定的。C++标准库中的大部分类都是泛型类,但是不是所有的泛型类都是STL,比如 std::string就属于泛型类,但是它不属于STL

STL 的组成

很多人提到STL首先想到的是容器,容器属于STL中非常重要的部分,但是绝对不是唯一的部分,实际上STL由 6 部分组成【2】:

  • 容器(container)
  • 算法(algorithm)
  • 迭代器(iterator)
  • 仿函数(functor)
  • 适配器(adaptor)
  • 配置器&#

你可能感兴趣的:(C/C++,c++)