Вы находитесь на странице: 1из 9

BIBLIOTECAS O LIBRERAS EN C++.

DECLARACIN
Y USO DE LIBRERAS. INCLUDE EN C++
Junto con los compiladores de C y C++, se incluyen ciertos archivos
llamados bibliotecas ms comnmente libreras. Las bibliotecas
contienen el cdigo objeto de muchos programas que permiten hacer
cosas comunes, como leer el teclado, escribir en la pantalla, manejar
nmeros, realizar funciones matemticas, etc.
Las bibliotecas estn clasificadas por el tipo de trabajos que hacen,
hay bibliotecas de entrada y salida, matemticas, de manejo de
memoria,

de

manejo

de

textos

como

imaginars

existen

muchsimas libreras disponibles y todas con una funcin especfica.


Nota: Existe una discusin sobre el nombre de estos archivos.
Muchas personas consideran que el nombre adecuado es archivos de
biblioteca, y estn en lo correcto. Sin embargo, la mayora llamamos a
estos archivos libreras, y tambin me incluyo entre estos. El error
proviene del nombre en ingls, que es library. Este trmino se traduce
como biblioteca, y no como librera. De este modo a lo largo de esta
seccin las llamar de cualquiera de las dos formas, para estar ms
claros.
Hay un conjunto de bibliotecas (o libreras) muy especiales, que se
incluyen con todos los compiladores de C y de C++. Son las libreras
(o bibliotecas) ANSI o estndar. Tambin hay libreras que no son
parte del estndar pero en esta seccin slo usaremos algunas
bibliotecas (o libreras) ANSI.
Nota 2: S que esto pinta aburrido, pero es muy til y realmente las
libreras nos facilitan enormemente el trabajo de programar. Recuerda
que antes de hablar libreras y dems es necesario dominar algunos
conceptos de fundamentacin en general y otros temas importantes

(ciclos, condicionales y dems) Ahora veamos algunas libreras y


como es su sintaxis.
QU SON EXACTAMENTE LAS LIBRERAS?
En C++, se conoce como libreras (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 ms.
Al poder incluir estas libreras 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 funcin que lo haga (algo
realmente complejo), al poder contar con las libreras en C++,
podremos hacer uso de una gran variedad de funciones que nos
facilitaran la vida y aumentarn la modularidad de nuestros cdigos.
Las libreras no son nicamente archivos externos creados por otros,
tambin es posible crear nuestras propias libreras y utilizarlas en
nuestros programas. Las libreras pueden tener varias extensiones
diferentes, las ms comunes son: .lib, .bpl, .a, .dll, .h y algunas ms
ya no tan comunes.
En conclusin: Las librearas son archivos (no siempre externos) que
nos permiten llevar a cabo diferentes tareas sin necesidad de
preocuparnos por cmo se hacen sino simplemente entender cmo
usarlas. Las librearas en C++ permiten hacer nuestros programas
ms modulares y reutilizables, facilitando adems crear programas
con funcionalidades bastante complejas en unas pocas lneas de
cdigo.
SINTAXIS PARA DECLARAR LIBRERAS EN C++

La declaracin de libreras, tanto en C como en C++, se debe hacer al


principio de todo nuestro cdigo, antes de la declaracin de cualquier
funcin o lnea de cdigo, debemos indicarle al compilador que
libreras usar, para el saber que trminos estaran correctos en la
escritura

de

nuestro

siguiente:#include

cdigo

cules

<nombre

no.

de

La

sintaxis

la

es

la

librera> o

alternativamente #include "nombre de la librera". Cualquiera de las


2 formas es vlida en C++ (no estoy seguro si en C sea vlido), ten
en cuenta que siempre el nombre de la librera debe ir entre " y " o
entre < y >. En tu cdigo puedes declarar todas las libreras que
quieras aunque en realidad no tienen sentido declarar una librera
que no vas a usar en tu programa, sin embargo no existe lmite para
esto.

LIBRERAS ESTANDAR DE C++ (STANDAR TEMPLATE LIBRARY O


STL)
A continuacin pondr algunas de las libreras de uso ms comn de
C++ y que forman parte de las libreras estndar de este lenguaje.

fstream: Flujos hacia/desde ficheros. Permite la manipulacin


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

iosfwd: Contiene declaraciones adelantadas de todas las


plantillas de flujos y sus typedefs estndar. Por ejemplo
ostream.

iostream:

Parte

del

a STL que

contiene

los

algoritmos

estndar, es quiz la ms 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

manipulacin

de

funciones

matemticas.

memory: Utilidades relativas a la gestin de memoria,


incluyendo asignadores y punteros inteligentes (auto_ptr).
"auto_ptr" es una clase que conforma la librera memory y
permite un fcil manejo de punteros y su destruccin
automaticamente.

Biblioteca new: Manejo de memoria dinmica

numeric: Parte de la librera numrica de la STL relativa a


operaciones numricas.

ostream: Algoritmos estndar para los flujos de salida.

queue:Parte de la STL relativa a contenedores tipo queue


(colas de objetos).

Librera stdio: Contiene los prototipos de las funciones,


macros, y tipos para manipular datos de entrada y salida.

Librera 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


generalizacin de las cadenas alfanumricas para albergar
cadenas de objetos. Muy til para el fcil uso de las cadenas de
caracteres, pues elimina muchas d elas dificultades que
generan los char

typeinfo: Mecanismo de identificacin de tipos en tiempo de


ejecucin

vector: Parte de la STL relativa a los contenedores tipo vector;


una generalizacin de las matrices unidimensionales C/C++

forward_list: Esta librera 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 fcil acceso al uso de expresiones

regulares para la comparacin de patrones.

Thread: til para trabajar programacin multihilos y crear


mltiples hilos en nuestra aplicacin.

CMO DECLARAR UNA LIBRERA EN C++?


Veamos a continuacin como se hara la declaracin de unas cuantas
libreras conocidas, recuerda que ese pueden declarar todas las
libreras necesarias y siempre debe hacerse al comienzo del cdigo
fuente.
#include
#include
#include
#include

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

using namespace std;


Con esto debi quedar claro, como declarar libreras C++ al interior
de un cdigo fuente. Lo nico adicional, es la lnea que dice using
namespace std; esta lnea nos ayuda a declarar un espacio de
nombre que evita tener que usarlo cada que accedemos a alguna
funcin

especfica

de

una

librera.

Teniendo

este

namespace

declarado podemos llamar por ejemplo el comando cout >>, que


pertenece a la librera iostream, sin embargo sin este namespace
sera std::cout >>, imagina tener que hacer esto cada vez que uses
algn comando o funcin de las libreras, sera bastante tedioso.

ACERCA DEL NAMESPACE STD

Todas las libreras estndar de C++ contienen una declaracin del


espacio de nombre std, es decir que todas las libreras que hacen
parte del estndar de C++ colocan entidades dentro de este espacio
de nombre.
Por esta razn 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 cdigo.
El espacio de nombre std como tal no es una librera sino
simplemente un namespace, por esta razn no reemplaza la
declaracin de las libreras del cdigo, simplemente facilita la
escritura de ste al momento de usar las entidades de las libreras
estndar. Sin embargo si vamos a hacer uso de una o varias libreras
estndar de C++ es recomendable que declaremos el namespace
std, para no tener que estar constantemente escribiendo cosas
similares a las que puse hace unas lneas como std::cin o similares,
dado que nicamente se puede acceder a la entidades de las libreras
estndar por medio del espacio nombre std.
Muy bien, ahora veamos algunos ejemplos simples del uso de libreras
o bibliotecas en C++
Ejemplo 1 de libreras en C++
En el siguiente ejemplo veremos el uso de la librera stdlib.h que
posee una gran variedad de funcionalidades, para este ejemplo
usaremos la funcin rand que nos permite generar un nmero
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 nmero con rand y se muestra en
pantalla
return 0;
}
En el anterior cdigo hemos hecho uso de dos libreras: iostream y
stdlib. La librera o biblioteca iostream, nos permitir hacer uso del cin
y

el

cout

para

obtener

imprimir

valores

por

pantalla,

respectivamente mientras stdlib nos dar acceso a la funcin rand


que generar por nosotros un nmero cualquiera.
Ejemplo 2 de libreras en C++
En el siguiente ejemplo veremos el uso de la librera string.h que nos
permite bsicamente crear y manipular muy fcilmente 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 posicin (ahora estamos en
20)
//Se inserta un 11 en la posicin del 10 11 20 30 40 50
miLista.insert (it,11);
miLista.insert (it,3,18);
//En la actual posicin 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
antando el iterador
}
return 0;
}
El resultado final de la ejecucin de este cdigo debera 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 insercin.

Вам также может понравиться