Pensar en C++ (Volumen 2)

Traducción (INACABADA) del libro Thinking in C++, Volumen 2

Bruce Eckel

Mindview, Inc.

Tabla de contenidos

1. Introducción
1. Objetivos
2. Capítulos
3. Ejercicios
3.1. Soluciones de los ejercicios
4. Código fuente
5. Compiladores
6. Estándares del lenguaje
7. Seminarios, CD-ROMs y consultoría
8. Errores
9. Sobre la portada
10. Agradecimientos
I. Construcción de Sistemas estables
2. Tratamiento de excepciones
1. Tratamiento tradicional de errores
2. Lanzar una excepción
3. Capturar una excepción
3.1. El bloque try
3.2. Manejadores de excepción
3.3.
4.
4.1. Capturar cualquier excepción
4.2. Relanzar una excepción
4.3. Excepciones no capturadas
5. Limpieza
5.1. Gestión de recursos
5.2.
5.3. auto_ptr
5.4. Bloques try a nivel de función
6. Excepciones estándar
7. Especificaciones de excepciones
7.1. ¿Mejores especificaciones de excepciones?
7.2. Especificación de excepciones y herencia
7.3. Cuándo no usar especificaciones de excepción
8. Seguridad de la excepción
9. Programar con excepciones
9.1. Cuándo evitar las excepciones
9.2. Usos típicos de excepciones
10. Sobrecarga
11. Resumen
12. Ejercicios
II. La librería Estándar de C++
3. Las cadenas a fondo
1. ¿Qué es un string?
2. Operaciones con cadenas
2.1. Añadiendo, insertando y concatenando cadenas
2.2. Reemplazar caracteres en cadenas
2.3. Concatenación usando operadores no-miembro sobrecargados
3. Buscar en cadenas
3.1. Busqueda inversa
3.2. Encontrar el primero/último de un conjunto de caracteres
3.3. Borrar caracteres de cadenas
3.4. Comparar cadenas
3.5. Cadenas y rasgos de caracteres
4. Una aplicación con cadenas
5. Resumen
6. Ejercicios
III. Temas especiales
4. Herencia múltiple
1. Perspectiva
2. Herencia de interfaces
3. Herencia de implementación
4. Subobjetos duplicados
5. Clases base virtuales
6. Cuestión sobre búsqueda de nombres
7. Evitar la MI
8. Extender una interface
9. Resumen
10. Ejercicios
5. Patrones de Diseño
1. El Concepto de Patrón
1.1. La composición es preferible a la herencia
2. Clasificación de los patrones
2.1. Características, modismos patrones
3. Simplificación de modismos
3.1. Mensajero
3.2. Parámetro de Recolección
4. Singleton
4.1. Variantes del Singleton
5. Comando: elegir la operación
5.1. Desacoplar la gestión de eventos con Comando
6. Desacoplamiento de objetos
6.1. Proxy: FIXME: hablando en nombre de otro objeto
6.2. Estado: cambiar el comportamiento del objeto
7. Adaptador
8. Template Method
9. Estrategia: elegir el algoritno en tiempo de ejecución
10. Cadena de Responsabilidad: intentar una secuencia de estrategias
11. Factorías: encapsular la creación de objetos
11.1. Factorías polimórficas
11.2. Factorías abstractas
11.3. Constructores virtuales
12. Builder: creación de objetos complejos
13. Observador
13.1. El ejemplo de observador
14. Despachado múltiple
14.1. Despachado múltiple con Visitor
15. Resumen
16. Ejercicios