C++ es un lenguaje de programación multiparadigma diseñado en los años 1980 como extensión del lenguaje C, agregando características de programación orientada a objetos. El documento describe un programa Hola Mundo básico en C++, los tipos de datos fundamentales como enteros, flotantes y caracteres, los tamaños asociados a estos tipos y el tipo wchar_t para caracteres Unicode.
1. Contenido
C++....................................................................................................................................................... 2
Un ejemplo de programa, el clásico Hola mundo.................................................................... 2
Tipos de datos................................................................................................................................... 3
Tamaños asociado ....................................................................................................................... 4
Wchar_t .......................................................................................................................................... 5
2. C++
C++
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por BjarneStroustrup. La
intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que
permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados
a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos
paradigmas que ya estaban admitidos (programación estructurada y laprogramación orientada a
objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los
fabricantes de compiladores más modernos. Existen también algunos intérpretes, 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 año 1983, cuando el lenguaje fue utilizado por
primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++,
la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.
Un ejemplo de programa, el clásico Hola mundo
A continuación se cita un programa de ejemplo Hola mundo escrito en C:
/* Esta cabecera permite usar los objetos que encapsulan los descriptores
stdout
ystdin: cout(<<) y cin(>>)*/
#include <iostream>
int main()
{
std::cout<<"Holamundo"<<std::endl;
std::cin.get();
}
3. Al usar la directiva #include estamos diciéndole al compilador que busque e interprete todos los
elementos definidos en el archivo que acompaña 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 inglés. 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 estándar
de C++. Al incluir la sentenciausingnamespacestd 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
estándar (típicamente la pantalla o una ventana de texto) y el flujo de entrada estándar (típicamente el
teclado).
La definición de funciones es igual que en C, salvo por la característica de que si main no va a recoger
argumentos, no tenemos por qué ponérselos, a diferencia de C, donde había que ponerlos
explícitamente, aunque no se fueran a usar. Queda solo comentar que el símbolo << se conoce como
operador de inserción, 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 característica podremos concatenar el
objeto endl al final, cuyo resultado será imprimir un retorno de línea.
Por último tomaremos una secuencia de caracteres del teclado hasta el retorno de línea (presionando
ENTER), llamando al métodoget del objeto cin.
Tipos de datos
C++ tiene los siguientes tipos fundamentales:
Caracteres: char (también es un entero), wchar_t
Enteros: short, int, long, long long
Números en coma flotante: float, double, longdouble
Booleanos: bool
Vacío: void
El modificador unsigned se puede aplicar a enteros para obtener números sin signo (por omisión los
enteros contienen signo), con lo que se consigue un rango mayor de números naturales.
4. Tamaños asociado
Tamaños de tipos primitivos bajo i386 (GCC)
Tipo
Número de Bits
char
8
short
16
Otras arquitecturas pueden requerir distintos tamaños de
int
32
tipos de datos primitivos. C++ no dice nada acerca de cuál
float
32
double
64
Según la máquina y el compilador que se utilice los tipos
primitivos pueden ocupar un determinado tamaño en
memoria. La siguiente lista ilustra el número de bits que
ocupan los distintos tipos primitivos en la arquitectura x86.
es el número de bits en un byte, ni del tamaño de estos
tipos; más bien, ofrece solamente las siguientes "garantías
de tipos":
De acuerdo al estándar C99, un tipo char debe ocupar exactamente un byte compuesto de un
mínimo de 8 bits independientemente de la arquitectura de la máquina.
El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1.
Un tipo short tiene al menos el mismo tamaño que un tipo char.
Un tipo long tiene al menos el doble tamaño en bytes que un tipo short.
Un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive, preferentemente el
tamaño de un apuntador de memoria de la máquina.
Un tipo unsigned tiene el mismo tamaño que su versión signed.
5. Wchar_t
Para la versión del estándar que se publicó en 1998, se decidió añadir el tipo de dato wchar_t, que
permite el uso de caracteresUNICODE, a diferencia del tradicional char, que contempla simplemente al
código de caracteres ASCII extendido. A su vez, se ha definido para la mayoría de las funciones y
clases, tanto de C como de C++, una versión para trabajar con wchar_t, donde usualmente se prefija
el carácter w al nombre de la función (en ocasiones el carácter es un infijo). Por ejemplo:
strcpy - wstrcpy
std::string - std::wstring
std::cout - std::wcout
Cabe resaltar que en C se define wchar_t como:
typedefunsignedshortwchar_t;
Mientras que en C++ es en sí mismo un tipo de dato.
C++
i
i
C++
http://es.wikipedia.org/wiki/C%2B%2B