La marca de un profesional aparece en su atención a los detalles más finos del oficio. En esta sección del libro veremos características avanzadas de C++ junto con técnicas de desarrollo usadas por profesionales brillantes de C++.
A veces necesita salir de los convencionalismos que suenan a diseño orientado a objetos, inspeccionando el tipo de un objeto en tiempo de ejecución. La mayoría de las veces debería dejar que las funciones virtuales hagan ese trabajo por usted, pero cuando escriba herramientas software para propósitos especiales, tales como depuradores, visualizadores de bases de datos, o navegadores de clases, necesitará determinar la información de tipado en tiempo de ejecución. Ahí es cuando el mecanismo de identificación de tipo en tiempo de ejecución (RTTI) resulta útil. RTTI es el tema del Capítulo 8.
La herencia múltiple ha sido maltratado a lo largo de los años, y algunos lenguajes incluso no la permiten. No obstante, cuando se usa adecuadamente, puede ser una herramienta potente para conseguir código eficiente y elegante. Un buen número de prácticas estándar que involucran herencia múltiple han evolucionado con el tiempo; las veremos en el Capítulo 9.
Quizás la innovación más notable en el desarrollo de software desde las técnicas de orientación a objetos es el uso de los patrones de diseño. Un patrón de diseño describe soluciones para muchos problemas comunes del diseño de software, y se puede aplicar a muchas situaciones e implementación en cualquier lenguaje. En el Capítulo 10 describiremos una selección de patrones de diseño y los implementaremos en C++.
El Capítulo 11 explica los beneficios y desafíos de la programación multihilo. La versión actual de C++ Estándar no especifica soporte para hilos, aunque la mayoría de los sistema operativos los ofrecen. Usaremos un librería portable y disponible libremente para ilustrar cómo los programadores pueden sacar provecho de los hilos para construir aplicaciones más usables y receptivas.
Tabla de contenidos