Descubriendo el C++ moderno
608 páginas
Spanish
PDF
4.5

Descubriendo el C++ moderno

Descubriendo el C++ moderno

Autor:

Año:

Resumen:

Introducción

El libro «Descubriendo el C++ moderno» (título original Discovering Modern C++) del autor Peter Gottschling no es una introducción más al lenguaje, sino un manual completo para quienes ya conocen los fundamentos de C++ y desean dominar sus capacidades modernas. La edición de 2021 cubre los estándares C++11, C++14, C++17 y C++20, lo que lo convierte en una de las guías más actualizadas en la actualidad. El libro tiene 608 páginas de material denso pero bien estructurado.

¿De qué trata este libro?

El libro está construido como una inmersión progresiva en los mecanismos clave del C++ moderno. El autor no pierde tiempo explicando la sintaxis básica (variables, bucles, funciones), sino que pasa directamente a los temas que distinguen al C++ profesional del académico:

  • Punteros inteligentes (unique_ptr, shared_ptr, weak_ptr) y gestión de memoria sin fugas.
  • Semántica de movimiento (move semantics) y reenvío perfecto (perfect forwarding).
  • Expresiones lambda y cierres, desde simples hasta complejos con captura de estado.
  • Plantillas (templates), desde las básicas hasta las variadic templates y SFINAE.
  • Biblioteca estándar de plantillas (STL): contenedores, algoritmos, iteradores, objetos funcionales.
  • Paralelismo y concurrencia: std::thread, mutexes, operaciones atómicas, futures.
  • Nuevas características de C++17/20: std::optional, std::variant, std::any, conceptos (concepts), corrutinas (coroutines) y ranges.
  • Rendimiento: cómo escribir código rápido y cómo realizar perfiles.

¿Para quién es este libro?

El libro está dirigido a programadores que ya escriben en C++ (o en otro lenguaje compilado) y quieren migrar a los estándares modernos. Será útil para:

  • Desarrolladores que trabajan con código heredado en C++98/03 y desean modernizarlo.
  • Estudiantes de últimos cursos de carreras técnicas que estudian programación de sistemas.
  • Ingenieros que migran de C o Java a C++ y necesitan una comprensión profunda de los modismos del lenguaje.
  • Cualquiera que se prepare para entrevistas de C++ en grandes empresas tecnológicas (Google, Microsoft, JetBrains, etc.).

¿Qué aprenderá el lector?

Después de la lectura, podrá:

  • Escribir código seguro y eficiente usando punteros inteligentes y RAII.
  • Comprender y aplicar la semántica de movimiento para optimizar el rendimiento.
  • Crear algoritmos genéricos con plantillas y conceptos.
  • Usar lambdas para un procesamiento de datos conciso.
  • Trabajar con concurrencia y sincronización sin condiciones de carrera.
  • Aplicar los nuevos tipos de C++17/20 (optional, variant, any) para un código más expresivo.
  • Diseñar bibliotecas y API fáciles de usar.

Puntos fuertes del libro

1. Actualidad. El libro cubre estándares hasta C++20, incluyendo novedades como corrutinas y ranges. Esto es poco común incluso entre publicaciones en inglés de 2021-2023.

2. Profundidad sin complejidad excesiva. El autor explica temas complejos (por ejemplo, SFINAE o move semantics) con ejemplos que se pueden ejecutar y experimentar de inmediato. Además, no se adentra en aspectos académicos, sino que se centra en la aplicación práctica.

3. Estructura. Cada capítulo comienza con una breve introducción y termina con un resumen y ejercicios. Los ejercicios no son «escriba una calculadora», sino tareas que evalúan la comprensión de los mecanismos modernos (por ejemplo, implementar su propio unique_ptr o escribir una función plantilla que funcione con cualquier contenedor).

4. Código. Todos los ejemplos se compilan y se han probado en varios compiladores (GCC, Clang, MSVC). El autor ofrece consejos sobre la elección de la versión del compilador y las banderas.

5. Rendimiento. El libro contiene mucho

Recommendations