Lenguajes de Programación

Primeros pasos con Standard Template Library de C++

En este artículo vas a aprender qué es Standard Template Library (STL) de C++ y sus características, además de ver algunos ejemplos prácticos con la misma

Publicado el 26 de Octubre de 2020
Compartir

C++ es un lenguaje fuertemente tipado, lo que quiere decir que a todas las variables y funciones debemos indicarle el tipo de dato que tienen que guardar, devolver o recibir.

Pero cuando empezamos a programar nos damos cuenta que hay distintas estructuras de datos y distintos algoritmos que tienen el mismo aspecto y hacen las mismas cosas pero que son independientes al tipo de datos con el que se está trabajando. Por ejemplo, un conjunto de datos funciona exactamente igual tanto si los datos son enteros o cadenas de caracteres, es decir, el tipo de dato no importa.

Otro ejemplo es la utilización de una estructura cola con una estructura pila, no importa que tengan números enteros, reales, cadenas de caracteres, objetos de una clase, etcétera, ya que en una cola vamos añadiendo elementos, y cuando los sacamos lo hacemos desde el principio, y en una pila vamos añadiendo elementos, y cuando los sacamos lo hacemos desde el final. En ambos casos, el comportamiento no depende del tipo de datos utilizados.

Las plantillas en C++ nos permiten definir operaciones y estructuras de datos, independientemente del tipo de datos. Con una plantilla podemos definir una cola, una pila, un vector o un conjunto de datos, y será el programador el que cuando cree esa estructura en el programa principal, indicará qué tipo de datos va a guardar.

Esto es lo que posibilita en C++ la programación genérica, que no es más que programar independientemente al tipo de datos que posteriormente vayamos a utilizar.

Conviértete en un Backend Developer
Domina los lenguajes de programación más demandados. Accede a cursos, talleres y laboratorios para crear proyectos con Java, Python, PHP, Microsoft .NET y más
Comenzar gratis ahora

Qué es el Standard Template Library de C++

La Standard Template Library (STL) es una serie de librerías de C++ que ofrecen una colección de plantillas y algoritmos para trabajar con esas estructuras genéricas. Permite a los programadores implementar fácilmente estructuras de datos genéricas, como colas (queues), listas (lists), pilas (stacks), etcétera, y ofrece, además, tres elementos:

  • Contenedores: son las estructuras de datos genéricos.
  • Algoritmos: ofrece algunos algoritmos comunes que pueden tener los contenedores, como un algoritmo de ordenación.
  • Iteradores: permiten ir recorriendo estas estructuras de datos.

Si queréis acceder a más información sobre STL, podéis hacerlo en esta web.

Contenedores de STL

Los contenedores son las plantillas que nos ofrecen estructuras de datos genéricas y existen varios tipos:

  • Contenedores de secuencia

Implementan estructuras de datos a las que se puede acceder de forma secuencial, como, por ejemplo, un vector, una lista, matrices, etc. Son estructuras de datos genéricas que cuando las utilicemos debemos indicar el tipo de dato que va a guardar.

  • Adaptadores de contenedores

Ofrecen un comportamiento similar dependiendo del tipo de dato. Podemos tener una lista, pero si la lista se comporta de una determinada manera es una cola, y si se comporta de otra manera es una pila., incluso podemos tener una cola con prioridad. Utilizando los contenedores de frecuencia añadimos distintos comportamientos.

  • Contenedores asociativos

Nos permiten guardar datos en conjuntos o mapas, siendo los primeros conjuntos de datos en los que no se repite ninguno, y los segundos son parecidos a los diccionarios de otros lenguajes de programación, donde guardamos pares de información en clave-valor.

  • Contenedores asociativos desordenados

Son similares a los anteriores, pero con la diferencia que los datos no están ordenados.

Mejora las habilidades de tus desarrolladores
Acelera la formación tecnológica de tus equipos con OpenWebinars. Desarrolla tu estrategia de atracción, fidelización y crecimiento de tus profesionales con el menor esfuerzo.
Solicitar más información

Algoritmos de STL

STL también nos ofrece algunos algoritmos y funciones que trabajan sobre los contenedores, que ofrecen diversas operaciones:

  • Ordenación.
  • Búsqueda.
  • Comprobación, por ejemplo, para comprobar si todos los elementos del contenedor cumplen una condición, o algunos o ninguno.
  • Partición, para trabajar con conjuntos y subconjuntos de elementos.

Iteradores de STL

Los iteradores son elementos que nos ofrece la librería para poder recorrer o posicionarnos en los alimentos que se guardan en los contenedores. Es como un puntero que nos permite movernos por los elementos de un contenedor para leerlos o para cambiarlos.


Compartir este post

También te puede interesar...

Tecnología

Staking para principiantes: Todo lo que necesitas saber para empezar

28 Septiembre 2023 Alan Draguilow
Tecnología

TypeScript 5.0: Novedades de esta versión

12 Septiembre 2023 Pablo Huet
Tecnología

Impacto del Big Data en la gestión de riesgos en el sector financiero

26 Septiembre 2023 Sandra Domínguez

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información.