standard template library
Una descripción completa de la biblioteca de plantillas estándar (STL):
La biblioteca de plantillas estándar (STL) de C ++ es una colección de clases de plantillas que proporcionan estructuras de datos como matrices, vectores, colas, etc. STL es una biblioteca que consta de contenedores, algoritmos e iteradores.
Como STL consta de una colección de clases de plantilla, es una biblioteca generalizada que es independiente de los tipos de datos.
=> Lea aquí la extensa serie de tutoriales de capacitación en C ++.
Lo que vas a aprender:
funciones de amigo en c ++
Componentes de STL
STL consta principalmente de los siguientes componentes que se mencionan a continuación:
# 1) Contenedores
Un contenedor es una colección de objetos de un tipo particular de estructura de datos. En STL, tenemos varios tipos de clases de contenedores como Array, vector, queue, deque, list, map, set, etc. Estos contenedores son de naturaleza genérica y se implementan como plantillas de clase.
Los contenedores son de naturaleza dinámica y se pueden utilizar para contener varios tipos de objetos.
# 2) Algoritmos
Los algoritmos son los métodos o funciones que actúan sobre los contenedores. Mediante el uso de algoritmos proporcionados por STL, podemos tener métodos para buscar, ordenar, modificar, transformar o inicializar el contenido de los objetos de la clase contenedor.
Los algoritmos proporcionados por STL tienen funciones integradas que pueden operar directamente en una estructura de datos compleja en lugar de tener que escribir los algoritmos nosotros mismos.
Por ejemplo, La función reverse () en STL se puede utilizar para invertir la lista enlazada.
# 3) Iteradores
Los iteradores son la característica muy importante y distintiva de STL. Los iteradores son las construcciones que se utilizan para atravesar los objetos contenedores. De manera similar a los índices que usamos para recorrer las matrices, los iteradores actúan sobre los objetos de la clase de contenedor y se pueden usar para recorrer los datos.
Contenedores
Los contenedores almacenan objetos y datos. Son básicamente clases genéricas basadas en plantillas.
Los contenedores en STL se dividen en los siguientes tipos:
# 1) Contenedores secuenciales
Se dice que los contenedores a los que se puede acceder de forma secuencial o lineal son contenedores secuenciales.
descargar audio de alta calidad de youtube
Matrices, Vectores, Listas, Deques son los contenedores STL que almacenan datos linealmente y se puede acceder a ellos de manera secuencial.
# 2) Contenedores asociativos
Los contenedores asociativos son contenedores que implementan estructuras de datos ordenadas. Estos contenedores son rápidos de buscar. Algunos de los Ejemplos de contenedores asociativos son Map, Set, MultiMap, Multiset, etc. Estos contenedores generalmente se implementan en una forma de par clave / valor.
# 3) Adoptadores de contenedores
Los adoptantes de contenedores son contenedores secuenciales, sin embargo, se implementan proporcionando una interfaz diferente. Por lo tanto, los contenedores como una cola, deque, pila y cola de prioridad se clasifican como adoptadores de contenedores.
Iteradores
Los iteradores son construcciones que usamos para recorrer o recorrer contenedores en STL. Los iteradores son muy importantes en STL ya que actúan como un puente entre algoritmos y contenedores. Los iteradores siempre apuntan a contenedores y, de hecho, los algoritmos operan en iteradores y nunca directamente en contenedores.
Los iteradores son de los siguientes tipos:
- Iteradores de entrada: El más simple y se usa principalmente en algoritmos de un solo paso.
- Iteradores de salida: Igual que los iteradores de entrada pero no se usan para atravesar.
- Iteradores bidireccionales: Estos iteradores pueden moverse en ambas direcciones.
- Iteradores de reenvío: Solo se puede utilizar en la dirección de avance, un paso a la vez.
- Iteradores de acceso aleatorio: Igual que los punteros. Se puede utilizar para acceder a cualquier elemento de forma aleatoria.
Algoritmos
Los algoritmos son un conjunto de funciones o métodos proporcionados por STL que actúan sobre contenedores. Estas son funciones integradas y se pueden usar directamente con los contenedores e iteradores STL en lugar de escribir nuestros propios algoritmos.
STL admite los siguientes tipos de algoritmos:
- Buscando algoritmos
- Ordenar algoritmos
- Modificar o manipular algoritmos
- Algoritmos no modificadores
- Algoritmos numéricos
- Algoritmos Min / Max
Como sugiere cada uno de los tipos de algoritmos, estos algoritmos se pueden usar para lograr diferentes funcionalidades en contenedores STL como buscar, clasificar, transformar los datos en los contenedores, encontrar el valor mínimo / máximo, etc.
Conclusión
Esta es la breve introducción a la biblioteca de plantillas estándar. En nuestros próximos tutoriales, aprenderemos más sobre cada uno de los contenedores, algoritmos e iteradores.
=> Consulte la serie completa de formación GRATUITA de C ++ aquí.