Está en la página 1de 11

Bibliotecas o librerías en C++. Declaración y uso de librerías.

Include en C++

Junto con los compiladores de C y C++, se incluyen ciertos archivos llamados bibliotecas mas
comúnmente librerías. Las bibliotecas contienen el código objeto de muchos programas que permiten
hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar funciones
matemáticas, etc.

Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida,
matemáticas, de manejo de memoria, de manejo de textos y como imaginarás existen muchísimas
librerías disponibles y todas con una función especifica.

Nota: Existe una discusión sobre el nombre de estos archivos. Muchos personas consideran que el
nombre adecuado es archivos de biblioteca, y estan en lo correcto. Sin embargo, la mayoría llamamos a
estos archivos librerías, y también me incluyo entre estos. El error proviene del nombre en inglés, que es
library. Este término se traduce como biblioteca, y no como librería. De este modo a lo largo de esta
sección las llamaré de cualquiera de las dos formas, para estár mas claros.

Hay un conjunto de bibliotecas (o librerías) muy especiales, que se incluyen con todos los compiladores
de C y de C++. Son las librerías (o bibliotecas) ANSI o estándar. También hay librerías que no son parte
del estándar pero en esta sección sólo usaremos algunas bibliotecas (o librerías) ANSI.

Nota 2: Sé que esto pinta aburrido, pero es muy útil y las librerías nos facilitan enormemente el trabajo a
la hora de programar. Recuerda que antes de hablar librerías y demás es necesario dominar algunos
conceptos de fundamentación en general y otros temas importantes (ciclos, condicionales y demás)
Ahora veamos algunas librerías y como es su sintaxis.

¿Qué son exactamente las librerías?

En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos importar o incluir
en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya
construidas y utilizables que podremos agregar a nuestro programa, como por ejemplo leer del teclado
o mostrar algo por pantalla entre muchas otras más.
Al poder incluir estas librerías con definiciones de diferentes funcionalidades podremos ahorrarnos gran
cantidad de cosas, imaginemos por ejemplo que cada vez que necesitemos leer por teclado, debamos
entonces crear una función que lo haga (algo realmente complejo), al poder contar con las librerías en
C++, podremos hacer uso de una gran variedad de funciones que nos facilitaran la vida y aumentarán la
modularidad de nuestros códigos.

Las librerías no son únicamente archivos externos creados por otros, también es posible crear nuestras
propias librerías y utilizarlas en nuestros programas. Las librerías pueden tener varias extensiones
diferentes, las más comunes son: .lib, .bpl, .a, .dll, .h y algunas más ya no tan comunes.

En conclusión: Las librearías son archivos (no siempre externos) que nos permiten llevar a cabo
diferentes tareas sin necesidad de preocuparnos por cómo se hacen sino simplemente entender cómo
usarlas. Las librearías en C++ permiten hacer nuestros programas más modulares y reutilizables,
facilitando además crear programas con funcionalidades bastante complejas en unas pocas líneas de
código.

Sintaxis para declarar Librerías en C++

La declaración de librerías, tanto en C como en C++, se debe hacer al principio de todo nuestro código,
antes de la declaración de cualquier función o línea de código, debemos indicarle al compilador que
librerías usar, para el saber que términos estaran correctos en la escritura de nuestro código y cuáles no.
La sintaxis es la siguiente: #include <nombre de la librería> o alternativamente #include "nombre de la
librería". Cualquiera de las 2 formas es válida en C++ (no estoy seguro si en C sea válido), ten en cuenta
que siempre el nombre de la librería debe ir entre " y " o entre < y >. En tu código puedes declarar todas
las librerías que quieras aunque en realidad no tienen sentido declarar una librería que no vas a usar en
tu programa, sin embargo no existe límite para esto.

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.
fstream: Flujos hacia/desde ficheros. Permite la manipulación de archivos desde el programar, tanto leer
como escribir en ellos.

iosfwd: Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estándar. Por
ejemplo ostream.

iostream: Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante
(aunque no indispensable).

La biblioteca list: Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas

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

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.

Biblioteca new: Manejo de memoria dinámica

numeric: Parte de la librería numérica de la STL relativa a operaciones numéricas.

ostream: Algoritmos estándar para los flujos de salida.

queue: Parte de la STL relativa a contenedores tipo queue (colas de objetos).


Librería stdio: Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada
y salida.

Librería stdlib: Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso general.

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

typeinfo: Mecanismo de identificación de tipos en tiempo de ejecución

vector: Parte de la STL relativa a los contenedores tipo vector; una generalización de las matrices
unidimensionales C/C++

forward_list: Esta librería es útil para implementar con gran facilidad listas enlazadas simples.

list: Permite implementar listas doblemente enlzadas (listas enlazadas dobles) facilmente.

iterator: Proporciona un conjunto de clases para iterar elementos.

regex: Proporciona fácil acceso al uso de expresiones regulares para la comparación de patrones.

thread: Útil para trabajar programación multihilos y crear múltiples hilos en nuestra aplicación.

time: Útil para obtener marcas de tiempo durante ejecución. Se usa con frecuencia para conocer el
tiempo exacto durante un programa.
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>

#include

using namespace std;

int main ()

// Se genera una semilla diferente cada vez (basada en el tiempo exacto de ejecución)

// Se debe llamar siempre, para generar números realmente diferentes cada vez
// La funciçon time viene de la libtrería time.h

srand (time(NULL));

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++.
La última actualización de este artículo fue hace 1 año

También podría gustarte