Introducción a Patrones de Diseño en C++ con Qt4:1.1
1.1. Un vistazo a C++
editarC++ fue escrito originalmente como una serie de macros de preprocesamiento, una extensión para C, conocida como C con clases. Después de muchos años de evolución y refinamiento, este ahora dota a C añadiendo muchísimas características de alto nivel como escritura fuerte, abstracción de datos, referencias, operadores y sobrecarga de funciones, y soporte considerable para programación orientada a objetos.
C++ retiene las características clave que hicieron de C un lenguaje popular y útil: velocidad, eficiencia y un amplio rango de expresiones que permite programar a muchos niveles, desde el más bajo - como son llamadas de sistema operativo u operaciones de bitwise - hasta el más alto nivel, manipulando una gran cantidad de objetos y gráficas de objetos.
Una decisión de diseño fundamental fue hecha en los inicios de C++: Cualquier característica agregada a C++ no debería causar una penalización de tiempo de ejecución en el código C que no lo usara[1]. Ciertamente, esto agregó cargas al compilador, y algunas características tienen un costo de tiempo de ejecución si son utilizadas, pero un programa C que es compilado por un compilador C++ debería correr tan rápido como si hubiese sido compilado por un compilador C.
Notas
editar- ↑ Desafortunadamente, el manejo de excepciones rompe esta regla causando un poco de sobrecarga si es habilitada. Es el porque de que muchas librerías prefieren no usar excepciones.