2010-10-31 25 views
21

Sigo viendo referencias tanto a la Biblioteca estándar de C++ como a la Biblioteca de plantillas estándar de C++ (STL). ¿Cuál es la diferencia entre ellos? Wikipedia menciona que comparten algunos encabezados, pero eso es todo.¿Cuál es la diferencia entre la biblioteca estándar y la biblioteca de plantillas estándar?

+7

http://stackoverflow.com/tags/stl/info. La primera vez que he visto una pregunta que es una víctima de una * etiqueta * ;-) –

+0

que la hubiera pillado, la edición de la etiqueta wiki valió la pena después de todo: D – jalf

Respuesta

22

El Standard Template Library (STL) es una biblioteca de contenedores, iteradores, algoritmos y objetos de función, que fue creada por Alexander Stepanov; el sitio web de SGI tiene la implementación y documentación canónica.

La biblioteca estándar es la biblioteca que forma parte de C++; incluye la mayor parte de la biblioteca de plantillas estándar (STL).

En el uso común, "STL" también se utiliza para referirse a las partes de la biblioteca estándar de C++ que provienen del SGI STL real o se derivan de ellas. Por ejemplo, las personas a menudo usan "STL" para referirse a std::vector y el resto de los contenedores en la biblioteca estándar de C++, ya que se originaron en el SGI STL.

+0

Siempre creí que STL fue creado por Alexander Stepanov mientras trabajando en HP ... – ROAR

+0

Sí, fue desarrollado por Stepanov, y Wiki está de acuerdo en lo de HP. Supongo que nadie sabe cómo terminó con SGI entonces? – jalf

+1

@jalf: [sitio web de Stepanov] (http://www.stepanovpapers.com/) indica que la implementación de SGI fue completada por "Matt Austern con Hans Boehm (dirigido por Alexander Stepanov)". Más allá de eso, no pude encontrar ninguna otra información. –

Cuestiones relacionadas