2010-10-31 141 views
21

我一直看到C++标准库和C++标准模板库(STL)的参考。他们有什么区别?维基百科提到他们共享一些标题,但这是关于它。标准库和标准模板库有什么区别?

+7

http://stackoverflow.com/tags/stl/info。我第一次看到一个问题,那就是一个* tag * ;-) – 2010-10-31 17:46:18

+0

谁拥有它的编辑标签维基毕竟是值得的:D – jalf 2010-10-31 22:31:34

回答

22

Standard Template Library(STL)是由Alexander Stepanov创建的容器,迭代器,算法和函数对象的库; SGI网站有规范的实施和文件。

标准库是作为C++一部分的库;它包含了大部分标准模板库(STL)。

在常见用法中,“STL”也用于指代来自或源自实际SGI STL的C++标准库的各个部分。例如,人们通常使用“STL”来引用std::vector和C++标准库中的其余容器,因为它们起源于SGI STL。

+0

我一直认为STL是由Alexander Stepanov创建的,而在HP工作... – ROAR 2010-10-31 19:01:20

+0

是的,它是由Stepanov开发的,维基同意惠普的事情。那么我不认为有人知道它是如何以SGI结束的? – jalf 2010-10-31 22:46:44

+1

@jalf:[Stepanov的网站](http://www.stepanovpapers.com/)表明SGI的实施由“Matt Austern与Hans Boehm(由Alexander Stepanov管理)完成”。除此之外,我找不到任何其他信息。 – 2010-10-31 23:14:58