Compartir a través de


Información general sobre la biblioteca estándar (STL) de C++

Todas las entidades de la biblioteca de C++ declaradas o definidas en uno o varios encabezados estándar. Esta implementación incluye otros dos encabezados, <hash_map> y <hash_set>, que no son necesarios en el estándar de C++. Para obtener una lista completa de los encabezados que admite esta implementación, vea Referencia de archivos de encabezado.

El estándar de C++ define dos tipos de bibliotecas conformes:

  • Una implementación hospedada, que admite todos los encabezados de biblioteca estándar necesarios que describe el estándar ISO de C++.
  • Una implementación independiente, que solo requiere un subconjunto de los encabezados de biblioteca estándar. El subconjunto necesario es el siguiente:
Subconjunto de encabezado independiente
<atomic> (que declara al menos atomic_signed_lock_free y atomic_unsigned_lock_free). <cstdint> <ranges>
<bit> <cstdlib> (que declara al menos abort, atexit, at_quick_exit, exit y quick_exit). <ratio>
<cfloat> <exception> <tuple>
<climits> <functional> <typeinfo>
<compare> <initializer_list> <source_location>
<concepts> <iterator> <type_traits>
<coroutine> <limits> <utility>
<cstdarg> <memory> <version>
<cstddef> <new>

Los encabezados siguientes están en desuso desde C++11: <ciso646>, <cstdalign> y <cstdbool>.

Otras diferencias entre las implementaciones independientes y hospedadas son las siguientes:

  • Las implementaciones hospedadas requieren una función global denominada main. Una implementación independiente puede definir sus propias funciones de inicio y finalización.
  • Las implementaciones hospedadas deben admitir más de un subproceso que se ejecute al mismo tiempo. Los implementadores de implementaciones independientes deciden si su biblioteca admite subprocesos simultáneos.

La biblioteca estándar de Microsoft C++ satisface los requisitos de las implementaciones independientes y hospedadas.

Los encabezados de la biblioteca de C++ tienen dos subdivisiones más amplias:

Esta sección contiene las secciones siguientes:

Para obtener más información sobre las bibliotecas en tiempo de ejecución de Visual C++, vea Características de la biblioteca CRT.

Nota:

La implementación de Microsoft de la biblioteca estándar de C++ se conoce a menudo como STL o biblioteca de plantillas estándar. Aunque la biblioteca estándar de C++ es el nombre oficial de la biblioteca tal como se define en ISO 14882, debido al uso popular de "STL" y "biblioteca de plantillas estándar" en los motores de búsqueda, en ocasiones usamos esos nombres para simplificar la búsqueda de nuestra documentación. Desde una perspectiva histórica, "STL" se refería originalmente a la biblioteca de plantillas estándar escrita por Alexander Stepanov. Las partes de esa biblioteca se estandarizaron en la biblioteca estándar de C++, junto con la biblioteca en tiempo de ejecución de C ISO, las partes de la biblioteca Boost y otra funcionalidad. A veces "STL" también se usa para hacer referencia a las partes de los contenedores y algoritmos de la biblioteca estándar de C++ adaptada de la STL de Stepanov. En esta documentación, la biblioteca de plantillas estándar (STL) hace referencia a la biblioteca estándar de C++ en su conjunto.

Consulte también

Biblioteca estándar de C++