Está en la página 1de 8
© PROGRAMAR (Y A! * Cursos © Bibliotecas-O-Librerias Bibliotecas o librerias en C++. Declaracién y uso de librerias. Include en C++ iNo lo olvides! No olvides ingresar a tu correo electrénico para verificarlo y recibir nuestros mensajes, Secciones C++ Introducei6n a C++ Entornos de De: © Creacién de Proyectos Comentarios en C++ © Estructura de un Programa Tipos de Datos © Tipos Primitivos © Variables y constantes Entrada y Salida de Datos Condicionales Ciclo for Ciclo while iclo do-while Ciclos anidados © Arrays o Vectores © Matrices © Punteros * Librerias o Bibliotecas © Funciones Junto con los compiladores de C y C++, se ineluyen ciertos archivos llamados bibliotecas mas comiinmente librerias. Las bibliotecas contienen el cédigo objeto de muchos programas que permiten hacer cosas comunes, como leer cl teclado, escribir en la pantalla, manejar ndimeros, realizar funciones matemiticas, ete, Las bibliotecas estin clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, ‘matemiticas, de manejo de memoria, de manejo de textos y como imaginards existen muchisimas librerfas 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 mayoria amamos a estos archivos librerias, 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 libreria. De este modo a lo largo de esta seccién las Ilamaré de cualquiera de las dos formas, para estar mas claros. Hay un conjunto de bibliotecas (0 librerias) muy especiales, que se incluyen con todos los compiladores de C y de C++, Son las librerias (o bibliotecas) ANSI o esténdar. También hay librerias que no son parte del esténdar pero en esta seccién sélo usaremos algunas bibliotecas (0 librerias) ANSI. Nota 2: Sé que esto pinta aburtido, pero es muy itil y realmente las librerdas nos facilitan enormemente el trabajo de programar. Recuerda que antes de hablar librerias y dems es necesario dominar algunos conceptos de fundamentacién en general y otros temas importantes (ciclos, condicionales y demas) Ahora veamos algunas librerias y como es su sintaxis {Qué son exactamente las librerias? En C++, se conoce como librerias (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 mas. Al poder incluir estas librerias 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 librerias 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 librerias no son ‘inicamente archivos extemos creados por otros, también es posible crear nuestras propias librerias y utilizarlas en nuestros programas. Las librerias pueden tener varias extensiones diferentes, las mas comunes son: .lib, bpl, a, .dll,h y algunas mas ya no tan comunes. En conclusién: Las librearias son archivos (no siempre externos) que nos permiten llevar a cabo diferente: tareas sin necesidad de preocuparnos por cémo se hacen sino simplemente entender e6mo usarlas. Las librearfas en C++ permiten hacer nuestros programas mas modulares y reutilizables, facilitando ademés crear programas con funcionalidades bastante complejas en unas pocas lineas de cédigo. Sintaxis para declarar Librerias en C++ La declaracién de librerias, tanto en C como en C++, se debe hacer al principio de todo nuestro e6digo, antes de la declaracién de cualquier funcién o linea de cédigo, debemos indicarle al compilador que librerias usar, para el saber que términos estaran correctos en la escritura de nuestro cédigo y cuales no. La sintaxis es la siguiente: Hinclude o alternativamente #include "nombre de la libreria". Cualquiera de las 2 formas es valida en C++ (no estoy seguro si en C sea vilido), ten en cuenta que siempre el nombre de la libreria debe ir entre " y "0 entre < y >. En tu cédigo puedes declarar todas las librerfas que quieras aunque en realidad no tienen sentido declarar una librerfa que no vas a usar en tu programa, sin embargo no existe limite para esto. Librerias Estandar de C++ (Standar Template Library 0 STL) ‘A continuacién pondré algunas de las librerfas de uso mas comin de C estandar de este lenguaje y que forman parte de las librerias + fstream: Flujos hacia/desde ficheros. Permite la manipulacién de archivos desde el programar, tanto leei escribir en ellos. + iosfwd: Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estindar. Por ejemplo ostream. + iostream: Parte del a STL que contiene los algoritmos estandar, es quiz la més usada e importante (aunque no indispensable). * La biblioteca 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 matemiticas, © memory: Utilidades relativas a la gestién de memoria, incluyendo asignadores y punteros inteligentes (auto_ptr). "auto_ptr" es una clase que conforma la libreria memory y permite un facil manejo de punteros y su destruccién automaticamente. * Biblioteca ne Manejo de memoria di + numeric: Parte de la libreria numérica de la STL relativa a operaciones numéricas. ostream: Algoritmos estndar para los flujos de salida = queue: Parte de la STL relativa a contenedores tipo queue (colas de objetos). + Libreria stdio: Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida. 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 itil para el ficil 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 _fist Esta librerfa es dil 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 ficil acceso al uso de expresiones regulares para la comparacién de patrones, + thread Util para trabajar programacién multihilos y crear miltiples hilos en nuestra aplicacién, Nota: Para mas informacién sobre las librerias estandar de C++ y STL puedes ingresar aqui ~¢Cémo declarar una libreria en C++ ‘Veamos a continuacién como se haria la declaracién de unas cuantas librerias conocidas, recuerda que ese pueden declarar todas las librerfas necesarias y siempre debe hacerse al comienzo del cédigo fuente include “iostrean” include "string" include include using namespace std; Con esto debidé quedar claro, como declarar librerias C++ al interior de un cédigo fuente. Lo tinico adicional, es la linea que dice using namespace std; esta linea nos ayuda a declarar un espacio de nombre que evita tener que usarlo cada que accedemos a alguna funcidn especifica de una libreria. Teniendo este namespace declarado podemos llamar por ejemplo el comando cout >, que pertenece a la libreria iostream, sin embargo sin este namespace seria std::cout >>, imagina tener que hacer esto cada vez que uses algiin comando o funcién de las librerfas, seria bastante tedioso. Acerca del namespace std Todas las librerfas esténdar de C+ contienen una declaracién del espacio de nombre std, es decir que todas las librerias que hacen parte del estindar 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 eseribiendo std::cout o std::cin, ete en nuestro cédigo. EL espacio de nombre std como tal no es una libreria sino simplemente un namespace, por esta razdn no reemplaza la declaracién de las librerias del cédigo, simplemente facilita la escritura de éste al momento de usar las entidades de las librerias estindar, Sin embargo si vamos a hacer uso de una o varias librerias estindar de C+ es recomendable que declaremos el namespace std, para no tener que estar constantemente escribiendo cosas similares a las que puse hace unas Iineas como std::cin o similares, dado que tnicamente se puede acceder a la entidades de las librerias estindar por medio del espacio nombre std Muy bien, ahora veamos algunos ejemplos simples del uso de librerias o bibliotecas en C++ Ejemplo 1 de librerias en C++ En el siguiente ejemplo veremos el uso de la libreria stdlib.h que posee una gran variedad de funcionalidades, para este ejemplo usaremos la funcién rand que nos permite generar un niimero aleatorio. #include #include using namespace std; int main () « cout << ("Se va a generar un numero aleatorio ....\n"); cout << ("El numero generado es : "); cout << rand(); //Se genera el nimero con rand y se muestra en pantalla return @; En el anterior eédigo hemos hecho uso de dos librerias: iostream y stdlib. La libreria o biblioteca iostream, nos permitiré hacer uso del cin y el cout para obtener o imprimir valores por pantalla, respectivamente mientras stdlib nos dard acceso a la funcién rand que generar por nosotros un nimero cualquiera. Ejemplo 2 de librerias en C++ En el siguiente ejemplo veremos el uso de la libreria string.h que nos permite basicamente crear y manipular muy facilmente cadenas de caracteres include include 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 contendra el nonbre 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; y Aqui hemos mostrado un mensaje solicitando el nombre al usuario y Iuego 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 #include #include using namespace std; int main () « listcint> miLista; //Creamos Listcinty::iterator it; for (int ist0; ics50; i = i+t0) C mmiLista.push_back(i)$ } 7/Se agrega un 10 26 30 40 S@ a la lista it = miLista.begin(); //Se estabelce el iterador al comienzo de 1a lista it++; //Movenos el iterador una posicién (ahora estamos en 20) //Se inserta un 11 en la posicién del 19 11 20 30 40 5@ milista.insert (it,11)5 miLista.insert (it,3,18); 7/En 1a actual posicién del 2 insertamos un 18 tres veces //1@ 11 18 18 18 20 30 40 50 7/Creamos un vector que poseerd dos elementos con valor de 19 vectorcint> nyvector (2,19); //Insertanos ese vector en 1a Lista, enviando los iteradores del propio vector miLista. insert (it,myvector.begin(),myvector.end()); //1@ 11 18 18 18 19 19 20 30 40 50 cout << "Mi lista contiene lo siguiente:"; for (itemiLista-begin(); it!=miLista.end(); ites) { cout << ' ' ce Fit; //Se muestra el valor al cual esta auntando el iterador y return 05 El resultado final de la ejecucién de este cédigo deberia 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 afiadido este par de ejemplo a peticidn de algunos visitantes del sitio y creo que si eran muy necesarios, espero que con esto hayas clarificado dudas y afianzado el concepto. jjiBueno!!! Es todo lo que necesitas saber sobre librerfas, 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 amplie la informacién sobre alguna que ya esta aqui, hézmelo saber por medio de la seccién de comentarios Ahora vamos a la siguiente seccién y metamosle mano a algunos eédigos y eémo es su estructura, Da clic en el siguiente contenido llamado Funciones en C++. La iiltima actualizacién de este articulo fue hace I aito jComparte tu opinién! Ghostery ha bloqueado los comentarios proporcionados por Facebook Connect. Re oe nccneunn iYA! © Copyright Juan David Meza Gonzdlez | 2012 - 2017 Todos los derechos reservados. « Términos y condiciones » — es Hacemos uso de cookies, puedes ver nuestra politica de cookies, aqui. Nota: El uso del sitio implica la aceptacién de las politicas. Politica de cookies +

También podría gustarte