c++ - STL和stdlib有什么关系

标签 c++ stl std

<分区>

最近看到一篇文章说STL是Alexander Stepanov在C++标准化之前开发的,当时是一个库,就像现在的boost .我想到的问题很少。

  1. 现在我们可以像boost一样下载和使用STL
  2. STL 是否包含在 C++ 标准中?如果说
    • stdlib没有包含的STL是什么,
    • 有哪些东西不是来自STL,而是来自stdlib
  3. STL在C++标准化后消失了吗
  4. 我们可以说“C++ 中没有STL,只有标准库

最佳答案

  1. 是的 - 你可以从 SGI here 得到它, 虽然上帝只知道它是否会在最新的编译器上编译,或者最近维护的版本称为 STLport here

  2. 有区别,例如 SGI STL 有一个 bit_vector,但我记不清它是在大多数 STL 元素标准化之前还是之后引入的;而标准库包括整个 iostreams 工具,它从来不是 STL 的一部分

  3. 显然不是,尽管在可用的编译器提供的标准实现变得越来越可靠之后,没有理由为新开发选择非标准版本;一些旧代码无疑仍在使用 STL(以及许多其他类似的非标准库)

  4. 尽管您可以说“C++ 中没有提升”……它不是标准的一部分

“但只有 C++ 中的搁浅库”——这是故意的吗? ;-)

关于c++ - STL和stdlib有什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26292122/

相关文章:

c++ - pArray = pArray + 1;有人可以向我解释这如何在 C++ 中增加数组吗?

c++ - Qt - 混合 Qt 和 std::C++ 类型

opengl - 如何在 STL 算法中使用 glm 的 operator==?

c++ - 为什么我不能重载传递给 std::upper_bound 的这个比较器

C++ hash_map find() 与 contains() 性能对比

c++ - 标准流适配器

c++ - 线程类不能正常工作

c++ - 如何更改静态名称参数中的文件甚至数组的名称?

c++ - 在 C++ 中反转数组的顺序

c++ - 为什么 std::vector 需要 operator =