Biblioteca estándar de C++
En el lenguaje de programación C++ , el término Biblioteca estándar significa una colección de clases y funciones escritas en el lenguaje base . La biblioteca estándar admite varios contenedores principales, funciones para trabajar con estos contenedores, objetos de función, tipos básicos de cadenas y secuencias (incluidas E/S interactivas y de archivos), compatibilidad con algunas funciones de lenguaje y funciones de uso común para realizar tareas como, encontrar la raíz cuadrada de un número. La biblioteca estándar C++ también incluye las especificaciones de la biblioteca estándar ISO C90 C. La funcionalidad de la biblioteca estándar se declara dentro del espacio de nombres estándar .
La biblioteca de plantillas estándar (STL) es un subconjunto de la biblioteca estándar de C++ y contiene contenedores, algoritmos, iteradores, objetos de función, etc. [1] aunque algunos programadores usan el término "STL" junto con (o indistintamente) el término "Biblioteca estándar de C++" ".
Los archivos de encabezado de la biblioteca estándar de C++ no tienen la extensión ".h".
La biblioteca estándar de C++ contiene las extensiones ANSI C++ más recientes (incluida la biblioteca de plantillas estándar y la nueva biblioteca iostream). Es un conjunto de archivos de cabecera. A los nuevos archivos de encabezado les falta la extensión H. [2]
Archivos de encabezado estándar
Los siguientes archivos contienen declaraciones de la biblioteca estándar.
Contenedores
<conjunto de bits>
Implementa una clase contenedora especializada std::bitset , el mapa de
bits .
<deque>
Implementa la plantilla de clase contenedora std::deque ,
cola doblemente enlazada .
<lista>
Implementa la plantilla de clase contenedora std::list ,
lista doblemente enlazada .
<mapa>
Implementa plantillas de clases de contenedor std::map y std::multimap- Arreglos
Asociativos y Multimapping .
<cola>
Implementa la clase contenedor-adaptador , una
colastd::queue unidireccional .
<conjunto>
Implementa plantillas de clase de contenedor std::sety
conjuntosstd::multiset o contenedores asociativos ordenados .
<pila>
Implementa la clase de contenedor de adaptadores std::stack , la
pila .
<vector>
Implementa la plantilla de clase de contenedor
std::vector , la
matriz dinámica .
generales
<algoritmo>
Implementa las definiciones de muchos
algoritmos para trabajar con contenedores.
<funcional>
Implementa varios objetos de función diseñados para trabajar con algoritmos estándar.
<iterador>
Implementa clases y plantillas para trabajar con
iteradores .
<configuración regional>
Implementa clases y plantillas para trabajar con
entornos locales .
<recuerdo>
Implementa herramientas de
administración de memoria de C++ , incluido std::auto_ptr.
<stdexcept>
Contiene el manejo de errores estándar de clases como std::logic_errory std::runtime_error, ambas derivadas de std::exception.
<utilidad>
Implementa una plantilla de clase std::pairpara trabajar con pares (
tuplas de dos miembros ) de objetos.
Cuerdas
<cadena>
Implementa clases y plantillas de cadenas estándar.
<regex>
Nuevo en
C++11 . Proporciona utilidades para cadenas de coincidencia de patrones utilizando
expresiones regulares .
Streaming y E/S
<fstream>
Implementa herramientas para la entrada y salida de archivos. Ver
fstream .
<ios>
Implementa varios tipos y funciones que forman la base de las operaciones con iostreams.
<iostream>
Implementa la entrada y salida básica del lenguaje C++. Véase
iostream .
<iosfwd>
Implementa
declaraciones directas para varias plantillas de clase relacionadas con E/S.
<iomanip>
Implementa herramientas para trabajar con formato de salida, como base , que se utiliza al formatear valores enteros y exactos
de números de punto flotante .
<istream>
Implementa la plantilla de clase std::istreamy otras clases de entrada necesarias.
<flujo>
Implementa la plantilla de clase std::ostreamy otras clases necesarias para la salida.
<flujo>
Implementa una plantilla de clase std::sstreamy otras clases necesarias para trabajar con cadenas.
<streambuf>
Numérico
<complejo>
Implementa la plantilla de clase std::complexy funciones relacionadas para trabajar con
números complejos .
<numérico>
Implementa algoritmos para el procesamiento numérico.
<valarray>
Implementa una plantilla de clase , una std::valarray clase de
matriz que está optimizada para el procesamiento numérico.
Soporte de idiomas
<excepción>
Implementa varios tipos y funciones relacionadas con el
manejo de excepciones , incluida std::exception la clase base para todo el manejo de excepciones en la Biblioteca estándar.
<límites>
implementa la plantilla de clase std::numeric_limitsutilizada para describir las propiedades de los tipos numéricos básicos.
<nuevo>
Implementa los operadores
newy
delete, así como otras funciones y tipos que forman la base
de la gestión de memoria en C++.
<typeinfo>
Implementa herramientas para trabajar con
identificación dinámica de tipos de datos en C++.
Biblioteca estándar de C
Cada archivo de encabezado de la biblioteca estándar de C se incluye en la biblioteca estándar de C++ con varios nombres creados cortando la extensión .h y agregando 'c' al principio, por ejemplo, 'time.h' se convirtió en 'ctime'. La única diferencia entre estos archivos de encabezado y los archivos de encabezado de la biblioteca estándar C tradicional es que las funciones deben colocarse en el espacio de nombres std:: (aunque algunos compiladores lo hacen ellos mismos). En el estándar ISO C, las funciones de biblioteca estándar pueden implementarse mediante macros , que no están permitidas en ISO C++.
Véase también
Literatura
Enlaces
Notas
- ↑ Holzner, Steven. C++: Libro Negro. —Scottsdale, Arizona. : Coriolis Group, 2001. - P. 648. - “La STL está formada por contenedores , iteradores , objetos función y algoritmos ”. — ISBN 1-57610-777-9 .
- ↑ Cambios en la biblioteca estándar de C++