Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bibliotecas o Librerías en C++
Bibliotecas o Librerías en C++
INCLUDE EN C++
Junto con los compiladores de C y C++, se incluyen ciertos archivos llamados bibliotecas
más 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 específica.
Nota: Existe una discusión sobre el nombre de estos archivos. Muchas personas
consideran que el nombre adecuado es archivos de biblioteca, y están 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 estar más 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 realmente las librerías nos facilitan
enormemente el trabajo 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.
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.
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.
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 estándar de este lenguaje.
#include "iostream"
#include "string"
#include <math.h>
#include <conio.h>
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 específica 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++
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>
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.
#include <string.h>
#include <iostream>
int main ()
{
cout << ("Hola! Por favor ingrese su nombre ....\n");
string cadena = "Hola "; //Se le da un valor inicial al string
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".
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>
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
//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
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.