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

Primeros pasos con Standard Template Library de C++

José Domingo Muñoz
Primeros pasos con Standard Template Library de C++

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.

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.

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.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Curso de C++: Introducción

Curso de C++: Introducción

curso

Con este curso aprenderás:

  • Instalación de C++
  • Codificar y ejecutar programas c++
  • Estructura de un programa c++

Duración: 2 horas y 11 minutos

Programador en C++

Programador en C++

carrera

Incluye 8 cursos:

  • Curso de Introducción a la programación con Pseudocódigo
  • Curso de introducción a C++
  • Curso de Programación orientada a objetos con C++

y 5 cursos más!

Duración: 22 horas y 43 minutos

Más de 300 empresas confían en nosotros

Oesia
Vass
Everis
Ayesa
Altran
Ibermatica
Atmira
GFI
Accenture
GMV
Concatel
Telefonica
Caser
Banco de España
kpmg
Mapfre
Randstad