Librerias estandar

La libreria estandar de c++... La sintaxis de inclusion de librerias puede variar segun la version y la plataforma del compilador c++. Puede ser asi:

...
using namespace std;
#include <iostream>

...

O mas simple:

...
using namespace std;
#include <iostream>
...

Pero, ¿que narices es eso del namespace? Con eso de namespace lo que hacemos es declarar un zona concreta para variables, objetos, etc.

...
int contador; // variable global

// definimos el espacio de nombres freedomia
namespace freedomia {

	int contador;	
	
}

// definimos el espacio de nombres libertonia
namespace libertonia {

	int acumulador;
	int contador;	
	
}

// vamos a probar
int main () {

	// asi utilizariamos la variable del espacio freedomia
	freedomia::contador = 0;
	
	// y asi la otra, la global
	::contador = 0;
	
	// QUE PASA SI no lo especificamos? efectivamente tendremos
	// seremos unos ambiguos
	
	// y si somos unos vagos y no queremos especificar el espacio de nombres
	// en cada uso de la variable??
	// metemos la directiva using
	using namespace libertonia;
	
	acumulador = 0;
	
	// pero OJO esto seguiria siendo ambiguo
	contador = 0;

	// using como declaracion.
	// Pero que pasa si lo que realmente queremos es quitar esa ambiguedad
	// y afirmar que en adelanta vamos a utilizar la variable de determinado namespace?
	// ESTO se haria asi
	using libertonia::contador;
	
	// ahora si, esto seria correcto
	contador = 0;
		
}

A lo que ibamos: al igual que en c, en c++ tenemos una libreria base para desarrollar aplicaciones. Aqui se hecha un rapido vistazo a todas ellas.

#include <iostream>
Libreria basica de entrada/salida. Imprescindible.

#include <string>

Libreria para el manejo de string con las funciones mas usuales como strcpy, strncpy, strlen, strcat, strncat, incluso las que sirven para buscar dividir un string en tokens.

#include <time>

Libreria para escribir fechas, con distintas opciones. Podemos sacar la fecha del momento y separar los valores de dia, hora, minuto, etc..

#include <stdlib>

Otra libreria basica, que contiene funciones como los conversores de ascci-integer atoi, algoritmos de ordenacion de arreglos como qsort..

Veamos el listado que contiene las librerias del ambito estandar.

Operadores de bits: Otra opcion mas de c++

& AND
| OR
^ exclusive OR
~ complement

Figura: programar es como cocinar

Existen mas librerias standar y lo que es mejor, librerias muy potentes disponibles para desarrollar programas mas complejos: creacion de interfaces de ventanas, comunicaciones, etc..

El estilo A la hora de escribir codigo se pueden tomar muchas costumbres y vicios que no facilitan la generacion de un estilo claro. De todas formas, dentro de un mismo proyecto seria mejor mantener un mismo estilo. No debe ser una preocupacion, ya que existen programas para formatear el codigo fuente, meter espacios tabulaciones, saltos de linea, etc.