2010-02-10 15 views

Respuesta

6

Biblioteca estándar de C++: la definición genérica de qué funcionalidad/comportamiento debe proporcionar la biblioteca (cadenas, pares, iostream, contenedores, algoritmos, etc. aunque los detalles varían según la versión del estándar C++)

Biblioteca de plantillas estándar (STL): la parte de la biblioteca estándar de C++ que tiene que ver con contenedores y algoritmos (y los iteradores que los unen). El STL no era parte de la biblioteca original de C++.

libstdC++ - una implementación específica de la biblioteca estándar de C++.

SGI STL: una implementación específica de la parte STL de la biblioteca estándar de C++. Creo que esta también fue una de las primeras versiones de STL. Antes de que el STL se convirtiera en parte de la biblioteca C++, los desarrolladores tenían que descargar el STL por separado (de la misma manera que hacemos actualmente con Boost).

+2

Um, el STL _fue parte del estándar original de C++ de 1998. (De hecho, la incorporación del STL, iniciado tarde durante el proceso de estandarización, retrasó significativamente el primer estándar de C++.) El SGI STL es específico (Creo que es incluso la implementación original de STL. No todos los STL llegaron al estándar C++ (por ejemplo, 'slist') y algunos de los que están en este último no provienen del STL (por ejemplo,' std :: string' como un contenedor STL). – sbi

+0

"El STL no era parte del estándar original de C++"; esto puede verse como correcto; el Estándar C++ en ninguna parte se refiere a algo llamado "STL" o incorrecto porque los contenedores y algoritmos que componen el STL siempre han sido parte del estándar C++. –

+1

El STL no estaba en el ARM, lo que podría considerarse como una especie de documento de estándares. Fue en el primer estándar oficial. –

4

hablar sólo sobre la procedencia de los componentes STL del estándar C++ bibliotecas utilizadas por defecto:

  • MSVC utiliza bibliotecas Dinkumware (o aparentemente un subconjunto de los mismos, debido a Dinkumware le venderá bibliotecas complemento para MSVC también: -P)
  • GCC usa una versión extendida de la SGI STL como parte de libstdC++

Si desea intercambiar el STL, existen otras implementaciones STL como STLport. Elige tu veneno. :-P

+0

Confundir "STL" y "biblioteca estándar de C++". Ese es un error común, pero un error, no obstante. – sbi

+0

@sbi: No, no estoy confundido acerca de los dos, pero estaba tratando de encontrar una manera de responder la pregunta del OP. Pero gracias por tus pensamientos (y tu voto negativo). :-P –

Cuestiones relacionadas