Está en la página 1de 13

Librerías para C++

En ocasiones encontramos palabras cuyo significado no sabemos, pues


para hablar un determinado idioma no necesitamos conocer todas las
palabras existentes. Se podría decir que conocemos la mayoría y cuando
encontramos una que no conocemos recurrimos a un diccionario, una vez
que conocemos su significado podemos usarla. Lo mismo sucede con los
compiladores, por eso cuando queremos usar una función o método que él
desconoce, debemos primero decirle dónde aprender qué es.

 Librería o biblioteca
 Declaración
 Librerías más usadas en C++
 Todas las librerías de C en C++
 Las librerías estándar para C++

Librería o biblioteca
Normalmente son llamadas librerías en español, aunque es técnicamente
más apropiado llamarles bibliotecas, pues la palabra de la que surgen es de
la palabra en inglés library cuya traducción inmediata es biblioteca. Esto no
importa demasiado pues para quienes hablamos español, ambas palabras
nos dan una idea muy similar. También hay quienes se refieren a ellas
como cabeceras o en inglés headers.

Una librería es un archivo que el compilador puede leer y en el que


encuentra las instrucciones de uso de muchos y distintos métodos y
funciones. Existen cientos de librerías, la mayoría de IDE ya las tienen
incluidas, pero no las incluyen en todos los códigos fuente que se crean,
con el propósito de que estos no sean demasiado grandes. Por esto
debemos declarar en nuestro código fuente qué librerías necesitaremos.

Una librería en C++ es un archivo en donde se define la


función y uso de muchas funciones diferentes.

Si incluimos una librería en nuestro programa entonces


podemos usar rápida y fácilmente las instrucciones que se
definen en ella.
Declaración
Si vamos a usar una determinada librería en nuestro programa, debemos
incluirla o declararla en nuestro código fuente. Para incluir algo a nuestro
archivo fuente usamos la expresión #include, después de esto y entre
signos de menor qué (<) y mayor qué (>) ponemos el nombre de la librería.
De manera general sería:

Si queremos incluir varias librerías deberemos declararlas en líneas


separadas y todas con su respectivo #include. Como el compilador debe
de conocer cómo usar las funciones de una librería antes de que esas
funciones sean llamdas en el código, lo primero que tenemos que hacer en
nuestro código fuente es declarar las librerías que usaremos.

Librerías más usadas en C++


Debes tener en cuenta que las librerías no son iguales en todos los
lenguajes. Las librerías que se usan en un programa escrito en C++ (archivo
con extensión .cpp) no siempre pueden usarse en un programa escrito
en C (archivo con extensión .c). Aunque la declaración de librerías es igual
en C y C++, estas no siempre son intercambiables. Aquí se hablará de
algunas librerías para C++ y algunas funciones que incluyen.

iostream
Es definitivamente la librería que más estaremos utilizando, pues es una
muy completa, tiene muchas funciones sencillas que son muy utilizadas, al
incluirla en nuestro código fuente generalmente evitamos tener que incluir
más librerías. Está especializada en la lectura y escritura de archivos. Es
exclusiva de C++.

Es definitivamente la librería que más estaremos utilizando, pues es una


muy completa, tiene muchas funciones sencillas que son muy utilizadas, al
incluirla en nuestro código fuente generalmente evitamos tener que incluir
más librerías. Está especializada en la lectura y escritura de archivos. Es
exclusiva de C++.
1

#include <iostream>

// Algunas funciones son

std::cout << a; // Muestra el valor de a en la consola

std::cin << a; // Ingresa un valor para a desde la consola

min(a, b) // Regresa el minimo entre a y b

max(a, b) // Regresa el máximo entre a y b

cmath
Declara un conjunto de funciones principalmente para operaciones
matemáticas y transformaciones. Incluye funciones
como sin(), cos(), tan(), exp(), log(), pow(), sqrt(), abs(). Se
puede usar en C/C++.
1

10

#include <cmath>

// Algunas funciones son

sin(x); // Devuelve el valor de la función trigonométrica


seno de la variable x

cos(x); // Devuelve el valor de la función trigonométrica


coseno de la variable x

tan(x); // Devuelve el valor de la función trigonométrica


tangente de la variable x
exp(x); // Devuelve el valor de la función exponencial de la
variable x, es decir e^x

log(x); // Devuelve el valor de la función logaritmo de la


variable x

pow(x, y); // Devuelve el valor de la variable x elevadaa la


potencia y

sqrt(x); // Devuelve el valor de la raíz cuadrada de la


variable x

abs(x); // Devuelve el valor absoluto de la variable x

cstring
Declara un conjunto de funciones principalmente para manipulación de
elementos tipo string. Algunas funciones que incluye
son strcat() memcmp() strpbrk() strlen() memset(). Se puede usar
en C/C++.

7
8

#include <cstring>

// Algunas funciones son

strcat() // Concatena cadenas

memcmp() // Mueve bloques de memoria

strpbrk() // Ubica caracteres en una cadena

strlen() // Obtienes la longitud de una cadena

memset() // Rellena un bloque de memoria

// Para conocer más funciones en strings y ejemplos revisa el


articulo de Strings en STL

ctime
Declara un conjunto de funciones para obtener y manipular información de
tiempo y fecha. Incluye funciones
como: clock() difftime() mktime() time(). Se puede usar en C/C++.

5
6

#include <ctime>

// Algunas funciones son

clock() // La puedes usar para contar el tiempo que dura


la ejecución de un programa

difftime() // Da la diferencia entre dos tiempos

mktime() // Convierte entre tipos de variable de tiempo

time() // Obtiene el tiempo actual

algorithm
Define una colección de funciones especialmente diseñadas para utilizarse
en rangos de elementos. Además incluye la mayoría de los contenedores de
la STL. Algunas funciones que incluye
son: find() count() swap() reverse() sort() merge(). Exclusiva de
C++.

6
7

#include <algorithm>

// Algunas funciones son

find() // Encuentra un valor en un rango de elementos

count() // Cuenta el numero de apariciones de un valor en un


rango

swap() // Intercambia el valor de dos variables

reverse() // Pone en orden inverso un rango de elementos

sort() // Ordena un rango de elementos

merge() // Mezcla dos rangos de elementos ya ordenados

bits/stdc++.h
Esta es algo así como una súper librería. Incluye todas las librerías estándar
y de STL, es decir, podrías sólo incluir esta siempre y no necesitarías incluir
otra. Sin embargo funciona precompilando todas las librerías que incluye,
sólo que lo hace en una sola línea, por lo que incluye librerías que
podríamos no usar, esto hace que el tiempo de compilación sea mayor.

Puedes ver todas las librerías que se integran al agregar bits/stdc+


+.h viendo su código fuente acá. Como notarás son demasiadas que muy
probablemente no usaremos.

Debido a esto y aunque su uso es muy práctico, sugiero no utilizarla al


hacer nuestros programas, es preferible que incorpores una a una las
librerías que usaremos. Además no todos los compiladores y evaluadores
soportan este fichero. Sin embargo es algo útil conocer y llegar a utilizar en
pruebas, por ejemplo.
1

#include <bits/stdc++.h>

Todas las librerías de C en C++


Las librerías que se utilizaban en C han sido convertidas para que puedan
usarse en C++, como se mostró en ejemplos anteriores. Las librerías en C
utilizaban una extención .h al final del nombre, en C++ se excluye ese .h y
en su lugar se añade una c al inicio del nombre de la librería. Por ejemplo,
la librería de C stdio.h se puede usar en C++ con el nombre <cstdio>.
Todas las librerías de C que han tenido esta conversión son:

7
8

10

11

12

13

14

15

16

#include <cassert>

#include <cctype>

#include <cerrno>

#include <cfloat>

#include <ciso646>

#include <climits>

#include <clocale>

#include <cmath>

#include <csetjmp>

#include <csignal>

#include <cstdarg>
#include <cstddef>

#include <cstdio>

#include <cstdlib>

#include <cstring>

#include <ctime>

Las librerías estándar para C++


Existen otras librerías que son estándar en C++, algunas de ellas son
solamente compatibles con C++11, entonces considera esto cuando quieras
compilar tu codigo o quieras enviar un código que incluya alguna de estas
librerías a un evaluador. Entonces todas las liberías estándar de C++
incluyendo las de C++11 son:

10

11
12

13

14

15

16

17

18

19

20

21

22

23

#include <exception> // Exepciones estándar

#include <functional> // Objetos para funciones

#include <initializer_list> // Para inicilizar listas

#include <iterator> // Para definir iteradores

#include <limits> // Calcula límites numéricos

#include <locale> // Librería para localizaciones

#include <memory> // Elementos de memoria

#include <new> // Para uso dinámico de memoria


#include <numeric> // Operaciones numéricas generales

#include <random> // Funciones para obtener cosas


aleatorias

#include <ratio> // Librería para proporciones

#include <regex> // Para manejar expresiones regulares

#include <stdexcept> // Clases de exepciones

#include <string> // Crea y maneja elementos string

#include <system_error> // Gestión de errores del sistema

#include <tuple> // Librería para objetos tipo tuple

#include <typeinfo> // Obtener información sobre tipos de


datos

#include <type_traits> // Tipos de traits

#include <utility> // Componentes variados de utilería

#include <valarray> // Para arreglos de elementos


numéricos

También podría gustarte