什么是STL?

时间:2009-05-05 22:41:13

标签: c++ stl

我不是C ++程序员,很难理解网站上的解释。我不了解容器或迭代器,也没有计划在不久的将来学习C ++。所以用外行人的话说:什么是STL,它能为我做什么?它与Python标准库或glibc相比如何?

6 个答案:

答案 0 :(得分:57)

答案 1 :(得分:9)

STL是标准模板库。它是C ++标准库的一个子集。

STL提供有用算法和容器的通用实现。

容器提供了在程序中存储数据,然后查找,排序和执行其他计算的简单方法。

答案 2 :(得分:7)

Standard Template Library是在C ++标准化之前用C ++编写的库。它包括很酷的东西,如排序算法和容器(和迭代器,使用这些功能)。

1998年标准化时C++ Standard Library的部分内容基于STL的部分内容;它是自进化以来(通过2003标准,特别是现在使用C ++ 0x)。

  • C ++标准库由各种编译器供应商(及其朋友)实现,并附带您最喜欢的工具链。
  • 这就是你实际可能会使用的:STL现在已经过时了。

请注意,许多程序员(包括一些多产的书籍作者)still use the term“STL”习惯于引用C ++标准库(或最初基于STL的部分) ,即使这是不正确的。只要你意识到技术上的区别,你应该没问题。

希望这有帮助。

答案 3 :(得分:3)

如果您不是C ++程序员,标准模板库的实现对您来说毫无价值。但是,这些想法超越了任何编程语言。

它是数据结构库(例如,地图,列表,矢量等)。它包括用于抽象遍历这些数据结构的迭代器,以及用于对它们进行操作的算法。其他语言也使用这些想法,所以如果你用一种语言学习它们,他们就会熟悉其他语言。

答案 4 :(得分:2)

STL是标准模板库。它是一个可以使用的函数和类库。它具有许多基本计算机科学的基本算法和数据结构。如果您打算继续使用C ++,那么您应该计划学习这个或另一个资源库。

该代码被世界各地的许多人使用,因此您可以放心地对代码进行了充分测试并且众所周知。

答案 5 :(得分:-1)

它是一个使某些事情变得更容易的库,比如字符串操作,向量,链接列表等.STL可以让你不必编写一些低级代码,让你更专注于你的应用程序代码。