Está en la página 1de 3

C++

C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por


Bjarne Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de
programacin C con mecanismos que permitan la manipulacin de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje hbrido.

Posteriormente se aadieron facilidades de programacin genrica, que se sum a los


otros dos paradigmas que ya estaban admitidos (programacin estructurada y la
programacin orientada a objetos). Por esto se suele decir que el C++ es un lenguaje
de programacin multiparadigma.

Actualmente existe un estndar, denominado ISO C++, al que se han adherido la


mayora de los fabricantes de compiladores ms modernos. Existen tambin algunos
intrpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder


crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje
fue utilizado por primera vez fuera de un laboratorio cientfico. Antes se haba usado
el nombre "C con clases". En C++, la expresin "C++" significa "incremento de C" y
se refiere a que C++ es una extensin de C.

Un ejemplo de programa, el clsico Hola mundo


A continuacin se cita un programa de ejemplo Hola mundo escrito en C:

/* Esta cabecera permite usar los objetos que encapsulan los descriptores
stdout
y stdin: cout(<<) y cin(>>)*/
#include <iostream>

int main()
{
std::cout << "Hola mundo" << std::endl;
std::cin.get();
}
Al usar la directiva #include estamos dicindole al compilador que busque e
interprete todos los elementos definidos en el archivo que acompaa la directiva (en
este caso, iostream). Para evitar sobrescribir los elementos ya definidos al ponerles
igual nombre, se crearon los espacios de nombres o namespace del singular en ingls.
En este caso hay un espacio de nombres llamado std, que es donde se incluyen las
definiciones de todas las funciones y clases que conforman la biblioteca estndar de
C++. Al incluir la sentencia using namespace std le estamos diciendo al
compilador que usaremos el espacio de nombres std por lo que no tendremos que
incluirlo cuando usemos elementos de este espacio de nombres, como pueden ser los
objetos cout y cin, que representan el flujo de salida estndar (tpicamente la
pantalla o una ventana de texto) y el flujo de entrada estndar (tpicamente el
teclado).

La definicin de funciones es igual que en C, salvo por la caracterstica de que si


main no va a recoger argumentos, no tenemos por qu ponrselos, a diferencia de C,
donde haba que ponerlos explcitamente, aunque no se fueran a usar. Queda solo
comentar que el smbolo << se conoce como operador de insercin, y grosso modo
est enviando a cout lo que queremos mostrar por pantalla para que lo pinte, en este
caso la cadena "Hola mundo". El mismo operador << se puede usar varias veces en la
misma sentencia, de forma que gracias a esta caracterstica podremos concatenar el
objeto endl al final, cuyo resultado ser imprimir un retorno de lnea.

Por ltimo tomaremos una secuencia de caracteres del teclado hasta el retorno de
lnea (presionando ENTER), llamando al mtodo get del objeto cin.

Tipos de datos
C++ tiene los siguientes tipos fundamentales:

Caracteres: char (tambin es un entero), wchar_t

Enteros: short, int, long, long long

Nmeros en coma flotante: float, double, long double

Booleanos: bool

Vaco: void

El modificador unsigned se puede aplicar a enteros para obtener nmeros sin signo
(por omisin los enteros contienen signo), con lo que se consigue un rango mayor de

Tamaos de tipos primitivos bajo i386 (GCC)


Tipo Nmero de Bits
char 8
short 16
int 32
float 32
double 64
nmeros naturales.

Tamaos asociados
Segn la mquina y el compilador que se utilice los tipos primitivos pueden ocupar
un determinado tamao en memoria. La siguiente lista ilustra el nmero de bits que
ocupan los distintos tipos primitivos en la arquitectura x86.
Otras arquitecturas pueden requerir distintos tamaos de tipos de datos primitivos. C+
+ no dice nada acerca de cul es el nmero de bits en un byte, ni del tamao de estos
tipos; ms bien, ofrece solamente las siguientes "garantas de tipos":

De acuerdo al estndar C99, un tipo char debe ocupar exactamente un


byte compuesto de un mnimo de 8 bits independientemente de la
arquitectura de la mquina.

El tamao reconocido de char es de 1. Es decir, sizeof(char) siempre


devuelve 1.

Un tipo short tiene al menos el mismo tamao que un tipo char.

Un tipo long tiene al menos el doble tamao en bytes que un tipo short.

Un tipo int tiene un tamao entre el de short y el de long, ambos


inclusive, preferentemente el tamao de un apuntador de memoria de la
mquina.

Un tipo unsigned tiene el mismo tamao que su versin signed.

También podría gustarte