Beginning C++23 From Beginner to Pro

Atrás Portada de Beginning C++23 From Beginner to Pro

⏲️ 70 horas

Autor: Ivor Horton, Peter Van Weert

Editorial: Apress

Descargar Libro

Sinopsis

Beginning C++23: From Beginner to Pro establece un recorrido pedagógico integral desde los fundamentos esenciales de programación hasta técnicas avanzadas del estándar C++23, estructurado en tres dominios progresivos de complejidad técnica.

Dominio I: Fundamentos axiomáticos

  • Sistemas de tipos profundos: Deducciones con auto, literales personalizados, conversiones implícitas/explícitas
  • Gestión de memoria moderna: Smart pointers (unique_ptr, shared_ptr), RAII, ownership semantics
  • Control de flujo avanzado: Excepciones estructuradas, manejo de errores con std::expected (C++23)
  • Strings y arrays contemporáneos: Manipulación eficiente con std::string_view, std::span, formatos C++23

Dominio II: Abstracción profesional

  1. Diseño de APIs industriales: Contracts, pre/postcondiciones, encapsulación robusta
  2. OOP de alto nivel: Herencia múltiple, CRTP, polimorfismo con override/final
  3. Sobrecarga de operadores: Patrones para tipos numéricos algebraicos
  4. STL moderna: Contenedores asociativos, vistas de rangos (ranges::views), algoritmos paralelos

Dominio III: Ingeniería de sistemas

  • Metaprogramación avanzada: Templates variádicos, especialización, conceptos (C++20/23)
  • Concurrencia profesional: Modelos de memoria, std::jthread, async/await experimental
  • Optimización de rendimiento: Move semantics, perfilado con perf/gprof, inlining estratégico
  • Depuración en profundidad: Técnicas para UB, memory leaks, race conditions

Proyectos paradigmáticos

  • Simulador financiero: Modelos estocásticos con <random>
  • Motor gráfico 2D: Renderizado con SDL2 y OpenGL
  • Sistema cliente-servidor: Networking con Boost.Asio
  • Herramienta de análisis estático: Procesamiento de AST con Clang LibTooling

Herramientas open-source compatibles: Compilación con GCC ≥13/Clang ≥17, gestión de proyectos via CMake, depuración con GDB/Valgrind, análisis estático mediante Clang-Tidy.