Está en la página 1de 9

Librerías Estandar de C++ (Standar Template Library

o STL)
A continuación pondré algunas de las librerías de uso
más común de C++ y que forman parte de las librerías
estandar de este lenguaje.
o fstream:

Flujos hacia/desde ficheros. Permite la manipulación


de archivos desde el programar, tanto leer como
escribir en ellos.
o iosfwd:

Contiene declaraciones adelantadas de todas las


plantillas de flujos y sus typedefs estándar. Por
ejemplo ostream.
o iostream:

Parte del a STL que contiene los algoritmos estándar,


es quizá la más usada e importante (aunque no
indispensable).
o La biblioteca list:

Parte de la STL relativa a contenedores tipo list; listas


doblemente enlazadas
o math:
Contiene los prototipos de las funciones y otras
definiciones para el uso y manipulación de funciones
matemáticas.
o memory:

Utilidades relativas a la gestión de memoria,


incluyendo asignadores y punteros inteligentes
(auto_ptr).
"auto_ptr" es una clase que conforma la librería
memory y permite un fácil manejo de punteros y su
destrucción automaticamente.
o Biblioteca new:

Manejo de memoria dinámica


o numeric:

Parte de la librería numérica de la STL relativa a


operaciones numéricas.
o ostream:

Algoritmos estándar para los flujos de salida.


o queue:

Parte de la STL relativa a contenedores tipo queue


(colas de objetos).
o Librería stdio:
Contiene los prototipos de las funciones, macros, y
tipos para manipular datos de entrada y salida.
o Librería stdlib:

Contiene los prototipos de las funciones, macros, y


tipos para utilidades de uso general.
o string:

Parte de la STL relativa a contenedores tipo string;


una generalización de las cadenas alfanuméricas para
albergar cadenas de objetos. Muy útil para el fácil uso
de las cadenas de caracteres, pues elimina muchas d
elas dificultades que generan los char
o typeinfo:

Mecanismo de identificación de tipos en tiempo de


ejecución
o vector:

Parte de la STL relativa a los contenedores tipo


vector; una generalización de las matrices
unidimensionales C/C++
o forward_list

Esta librería es útil para implementar con gran


facilidad listas enlazadas simples.
o list
Permite implementar listas doblemente enlzadas
(listas enlazadas dobles) facilmente.
o iterator

Proporciona un conjunto de clases para iterar


elementos.
o regex

Proporciona fácil acceso al uso de expresiones


regulares para la comparación de patrones.
o thread

Útil para trabajar programación multihilos y crear


múltiples hilos en nuestra aplicación.
Nota: Para más información sobre las librerías
estandar de C++ y STL puedes ingresar aquí
¿Cómo declarar una librería en C++?
Veamos a continuación como se haría la declaración
de unas cuantas librerías conocidas, recuerda que ese
pueden declarar todas las librerías necesarias y
siempre debe hacerse al comienzo del código fuente

#include "iostream"
#include "string"
#include <math.h>
#include <conio.h>

using namespace std;


Con esto debió quedar claro, como declarar librerías
C++ al interior de un código fuente. Lo único adicional,
es la línea que dice using namespace std; esta línea
nos ayuda a declarar un espacio de nombre que evita
tener que usarlo cada que accedemos a alguna
función especifica de una librería. Teniendo este
namespace declarado podemos llamar por ejemplo el
comando cout >>, que pertenece a la librería iostream,
sin embargo sin este namespace sería std::cout >>,
imagina tener que hacer esto cada vez que uses algún
comando o función de las librerías, sería bastante
tedioso.
Acerca del namespace std
Todas las librerías estándar de C++ contienen una
declaración del espacio de nombre std, es decir que
todas las librerías que hacen parte del estándar de C+
+ colocan entidades dentro de este espacio de
nombre.
Por esta razón cuando declaramos el uso del espacio
de nombre std por medio de "using namespace std;",
podemos evitar estar escribiendo std::cout o std::cin,
etc en nuestro código.
El espacio de nombre std como tal no es una librería
sino simplemente un namespace, por esta razón no
reemplaza la declaración de las librerías del código,
simplemente facilita la escritura de éste al momento de
usar las entidades de las librerías estándar. Sin
embargo si vamos a hacer uso de una o varias
librerías estándar de C++ es recomendable que
declaremos el namespace std, para no tener que estar
constantemente escribiendo cosas similares a las que
puse hace unas líneas como std::cin o similares, dado
que únicamente se puede acceder a la entidades de
las librerías estándar por medio del espacio nombre
std.
Muy bien, ahora veamos algunos ejemplos simples del
uso de librerías o bibliotecas en C++
Ejemplo 1 de librerías en C++
En el siguiente ejemplo veremos el uso de la librería
stdlib.h que posee una gran variedad de
funcionalidades, para este ejemplo usaremos la
función rand que nos permite generar un número
aleatorio.

#include <stdlib.h>
#include <iostream>

using namespace std;

int main ()
{
cout << ("Se va a generar un numero aleatorio ....\n");
cout << ("El numero generado es : ");
cout << rand(); //Se genera el número con rand y se muestra en pantalla
return 0;
}

En el anterior código hemos hecho uso de dos


librerías: iostream y stdlib. La librería o biblioteca
iostream, nos permitirá hacer uso del cin y el cout para
obtener o imprimir valores por pantalla,
respectivamente mientras stdlib nos dará acceso a la
función rand que generará por nosotros un número
cualquiera.
Ejemplo 2 de librerías en C++
En el siguiente ejemplo veremos el uso de la librería
string.h que nos permite básicamente crear y
manipular muy fácilmente cadenas de caracteres

#include <string.h>
#include <iostream>

using namespace std;

int main ()
{
cout << ("Hola! Por favor ingrese su nombre ....\n");
string cadena = "Hola "; //Se le da un valor inicial al string

string nombre; //Esta cadena contendrá el nombre


cin >> nombre; //Se lee el nombre

cadena = cadena + nombre; //Se juntan el saludo con el nombre usando "+"
cout << (cadena); //Se muestra el resultado final.
return 0;
}

Aquí hemos mostrado un mensaje solicitando el


nombre al usuario y luego usando string, hemos
creado un saludo que incluya el nombre del usuario.
"Hola Juan".
Ejemplo 3 para bibliotecas en C++
En este ejemplo usaremos la biblioteca vector, iterator
y list, para crear un lista doblemente enlazada, agregar
algunos elementos en ella (incluido un vector) y
recorrerla.

#include <iostream>
#include <list>
#include <vector>

using namespace std;

int main ()
{
list<int> miLista; //Creamos
list<int>::iterator it;

for (int i=10; i<=50; i = i+10)


{
miLista.push_back(i);
}
//Se agrega un 10 20 30 40 50 a la lista

it = miLista.begin(); //Se estabelce el iterador al comienzo de la lista


it++; //Movemos el iterador una posición (ahora estamos en 20)

//Se inserta un 11 en la posición del 10 11 20 30 40 50


miLista.insert (it,11);

miLista.insert (it,3,18);
//En la actual posición del 20 insertamos un 18 tres veces
//10 11 18 18 18 20 30 40 50

//Creamos un vector que poseerá dos elementos con valor de 19


vector<int> myvector (2,19);

//Insertamos ese vector en la lista, enviando los iteradores del propio vector
miLista.insert (it,myvector.begin(),myvector.end());

//10 11 18 18 18 19 19 20 30 40 50

cout << "Mi lista contiene lo siguiente:";

for (it=miLista.begin(); it!=miLista.end(); it++)


{
cout << ' ' << *it; //Se muestra el valor al cual está aùntando el iterador
}

return 0;
}

El resultado final de la ejecución de este código


debería mostrar por pantalla "Mi lista contiene lo
siguiente: 10 11 18 18 18 19 19 20 30 40 50" que es el
resultado final de la inserción.
Muy bien. He añadido este par de ejemplo a petición
de algunos visitantes del sitio y creo que sí eran muy
necesarios, espero que con esto hayas clarificado
dudas y afianzado el concepto.
¡¡¡Bueno!!! Es todo lo que necesitas saber sobre
librerías, al menos en la lista que te he puesto, están
las que vamos a usar para ejemplos y ejercicios y
algunas otras de mas. Si deseas información sobre
alguna otra o que amplíe la información sobre alguna
que ya esta aquí, házmelo saber por medio de
la sección de comentarios
Ahora vamos a la siguiente sección y metamosle mano
a algunos códigos y cómo es su estructura. Da clic en
el siguiente contenido llamado Funciones en C++.

También podría gustarte