More Exceptional C++
272 páginas
Spanish
PDF
4.5

More Exceptional C++

More Exceptional C++

Autor:

Año:

Resumen:

Introducción

El libro «More Exceptional C++» (2001) es la continuación de la famosa colección de problemas y soluciones de Herb Sutter, uno de los principales expertos en el lenguaje C++. Si el primer libro «Exceptional C++» sentó las bases para una comprensión profunda de las excepciones, la gestión de memoria y el diseño de clases, la segunda parte eleva el listón aún más. Aquí, el autor presenta 40 nuevos problemas (Items) divididos en secciones temáticas que cubren tanto problemas clásicos (seguridad de excepciones, RAII, modismos) como temas más avanzados: optimización de STL, sutilezas de la herencia, plantillas e incluso cuestiones de concurrencia (en el contexto de C++98/03). El libro está escrito en formato de «pregunta-respuesta»: primero se plantea un problema, luego se ofrece un análisis detallado con código, análisis y conclusiones. No es un libro de texto para principiantes, sino una colección de acertijos para aquellos que ya escriben en C++ con confianza y desean evitar trampas típicas.

De qué trata el libro

El tema principal es la seguridad de excepciones y la gestión correcta de recursos. Sutter analiza sistemáticamente cómo escribir código que no «filtre» cuando ocurren excepciones, cómo usar el modismo RAII (Resource Acquisition Is Initialization) y cómo diseñar clases resistentes a la ejecución parcial de operaciones. El libro también cubre:

  • Reglas de sobrecarga de operadores (especialmente operator= y operator[]);
  • Sutilezas del trabajo con contenedores STL (std::vector, std::list, std::map);
  • Modismos «pimpl» (pointer to implementation) y «copy-and-swap»;
  • Problemas de herencia múltiple y clases base virtuales;
  • Optimización de código mediante plantillas y estrategias (policy-based design);
  • Manejo de errores en constructores y destructores.

Cada capítulo contiene ejemplos de código concretos que se pueden aplicar inmediatamente en proyectos reales. Sutter no solo ofrece soluciones preparadas, sino que también explica por qué otros enfoques son erróneos y qué consecuencias pueden surgir.

Para quién es este libro

El libro está dirigido a desarrolladores experimentados de C++ que ya están familiarizados con la sintaxis, clases, herencia y plantillas. Será útil para:

  • Programadores que trabajan en sistemas de alta confiabilidad (finanzas, telecomunicaciones, sistemas embebidos);
  • Desarrolladores de bibliotecas y frameworks donde la estabilidad de la API es importante;
  • Estudiantes de últimos cursos y posgraduados que estudian conceptos avanzados de C++;
  • Todos aquellos que quieran mejorar sus habilidades de depuración y refactorización de código complejo.

A los principiantes el libro les parecerá difícil; es mejor comenzar con «Exceptional C++» o «Effective C++» de Scott Meyers.

Qué aprenderá el lector

Después de la lectura, podrá:

  • Garantizar la seguridad de excepciones en tres niveles (basic, strong, nothrow);
  • Implementar correctamente los operadores de asignación y copia;
  • Evitar fugas de memoria y recursos en los constructores;
  • Optimizar el uso de contenedores STL (por ejemplo, evitar copias innecesarias);
  • Aplicar el modismo «copy-and-swap» para escribir un operator= fiable;
  • Entender cuándo usar herencia virtual y cuándo usar composición;
  • Diseñar clases teniendo en cuenta las posibles excepciones en los destructores.

Puntos fuertes

La principal ventaja del libro es su enfoque práctico. Cada problema va acompañado de código real que se puede compilar y probar. Sutter no teme mostrar opciones incorrectas y explicar por qué son peligrosas. El segundo punto positivo es la estructura: el libro está dividido en capítulos pequeños (2–5 páginas), lo que permite leerlo en fragmentos y volver a temas complejos. El tercero es el énfasis en la seguridad de excepciones, que sigue siendo relevante incluso después de 20 años: el C++ moderno (C++11/14/17/20) ha añadido nuevas herramientas (move-semántica, unique_ptr, optional), pero los principios básicos expuestos por Sutter no han quedado obsoletos. Finalmente, el estilo del autor, vivo, con un toque de humor y autocrítica, hace

Recommendations