Vai al contenuto
Modulo 8

C++ Moderno e Best Practice

Gli standard C++ più recenti (C++17/20/23/26), i sistemi di build, le pratiche di testing e le linee guida professionali di scrittura del codice.

Funzionalità di C++17 e C++20

  1. C++17: Lo Standard Pratico

    Esplora le funzionalità più incisive di C++17: structured bindings, std::optional/variant/any, std::string_view, std::filesystem, if constexpr e i nuovi attributi.

  2. C++20: I Big Four e Altro

    Scopri le funzionalità rivoluzionarie di C++20: concept, ranges, operatore spaceship, std::format, designated initializer, std::span e altro ancora.

  3. Le Coroutine di C++20

    Comprendi le coroutine come funzioni sospendibili. Impara co_yield, co_return, co_await, il pattern generator e casi d'uso pratici come l'I/O asincrono e le macchine a stati.

  4. I Moduli di C++20

    Scopri perché i moduli sostituiscono gli header, come dichiararli ed esportarli, che cosa sono le partizioni e qual è il percorso di transizione dal codice basato sugli header.

C++23 e Oltre

  1. Anteprima di C++23 e C++26

    Esplora std::expected, std::print, deducing this e i miglioramenti ai ranges di C++23, e dai un'occhiata alle funzionalità in arrivo con C++26 come contract, reflection e pattern matching.

Pratiche Professionali C++

  1. Sistemi di Build: CMake e Gestione dei Pacchetti

    Padroneggia i fondamenti di CMake, il CMake moderno basato sui target, FetchContent per le dipendenze, i package manager vcpkg e Conan e i flag del compilatore per build sicure e ottimizzate.

  2. Testing, Benchmarking e Sanitizer

    Scrivi unit test con GoogleTest, misura le prestazioni con Google Benchmark, individua i bug con i sanitizer (ASan, UBSan, TSan) e integra l'analisi statica nella tua pipeline CI/CD.

  3. C++ Core Guidelines e Pattern Professionali

    Impara le C++ Core Guidelines, le convenzioni di denominazione, la const correctness, i principi di progettazione delle API, le pratiche di documentazione, il profiling delle prestazioni e le tecniche di debug in produzione.