Historia lenguaje c++

Solo disponible en BuenasTareas
  • Páginas : 6 (1304 palabras )
  • Descarga(s) : 7
  • Publicado : 29 de julio de 2010
Leer documento completo
Vista previa del texto
Hostoria
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. 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 deprogramación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programació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 algunosintérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de 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.
Tipos de datos
C++ tiene los siguientes tipos fundamentales:
• Caracteres: char (también es un entero), wchar_t
• Enteros: short int, int, long int, long long int
• Números en coma flotante: float, double, long double
• Booleanos: bool
• Vacío: void
El modificador unsigned se puede aplicar aenteros 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.
Tamaños asociados
Tamaños de tipos primitivos bajo i386 (GCC)
Tipo Número de Bits
char 8
short 16
int 32
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 siguientelista ilustra el número de bits que ocupan los distintos tipos primitivos la arquitectura x86.
Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++ no dice nada acerca de cuál 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":
• Un tipo char tiene el tamaño mínimo en bytes asignable porla máquina, y todos los bits de este espacio deben ser "accesibles".
• 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ñode un apuntador de memoria de la máquina.
• Un tipo unsigned tiene el mismo tamaño que su versión signed.
La palabra clave "void"
La palabra clave void define en C++ el concepto de no existencia o no atribución de un tipo en una variable o declaración. Como tal, puede ser usada para destacar que una función no recibe parámetros, como en:
int funcion (void);
Aunque la tendencia actual es lade no colocar la palabra "void".
Además se utiliza para determinar que una función no retorna un valor, como en:
void funcion (int parametro);
Cabe destacar que void no es un tipo. Una función como la declarada anteriormente no puede retornar un valor por medio de return: la palabra clave va sola. No es posible una declaración del tipo:
void t; //Está mal
En este sentido, void se comporta deforma ligeramente diferente a como lo hace en C, especialmente en cuanto a su significado en declaraciones y prototipos de funciones.
Sin embargo, la forma especial void * puede utilizarse como un ajuste que convierte cualquier variable a una "variable sin tipo", la cual puede solo ser accedida y utilizada bajo una operación de cast. Por ejemplo:
void *memoria;
Indica que memoria es un...
tracking img