¿Cuál es la diferencia entre la biblioteca GNU C++ (libstdC++), "C++ Standard Library", "Standard Template Library" y "SGI STL". ¿Cuándo se programa en Linux con el compilador GCC y la programación en Windos en MSVC (MicroSoft Visual C++), que las bibliotecas estándar de C++ están usando por defecto? Gracias!versiones de la biblioteca estándar de C++
Respuesta
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).
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
Confundir "STL" y "biblioteca estándar de C++". Ese es un error común, pero un error, no obstante. – sbi
@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 –
- 1. Incluir biblioteca estándar de C++
- 2. Trabajo interno de la biblioteca estándar C
- 3. Localización de C biblioteca estándar
- 4. Biblioteca estándar Intel (C++)
- 5. Versión imprimible de la biblioteca estándar Haskell
- 6. trim no es parte de la biblioteca c/C++ estándar?
- 7. Biblioteca estándar madura para C
- 8. C++ 0x biblioteca estándar manual de referencia
- 9. declaración de C Biblioteca señal estándar
- 10. ¿Cuál es la diferencia entre la biblioteca estándar y la biblioteca de plantillas estándar?
- 11. Etiquetas de biblioteca estándar
- 12. Lista de excepciones de la biblioteca estándar de C++?
- 13. Vinculación de la biblioteca C con nombre no estándar
- 14. ¿Extender la biblioteca estándar de C++ por herencia?
- 15. Cómo reemplazar la función de biblioteca estándar C?
- 16. ¿Tiene C o C++ una biblioteca de expresiones regulares estándar?
- 17. ¿La biblioteca estándar de Python es realmente estándar?
- 18. Diferencia entre la biblioteca C estándar y la biblioteca C POSIX
- 19. ¿Objective-C tiene una biblioteca estándar?
- 20. Matriz Biblioteca estándar
- 21. Estabilizando la biblioteca estándar qsort?
- 22. ¿Documentación estándar de la biblioteca SBCL?
- 23. ¿IronPython implementa la biblioteca estándar de Python?
- 24. Biblioteca de estructura de datos estándar en C?
- 25. MacPorts Clang 3.1 ¿Falta la instalación de la Biblioteca estándar?
- 26. ¿Dónde está la biblioteca C estándar en Mac OS X?
- 27. ¿Referencia completa en línea para la biblioteca estándar C?
- 28. donde se define stdin en la biblioteca c estándar?
- 29. Vinculación de la biblioteca estándar de C++ con diferentes estándares de C++
- 30. biblioteca C estándar para escapar de una cadena
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
"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++. –
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. –