Torna ai corsi
AI013 Professional

Tutorial su C++ Moderno

Questo tutorial ha lo scopo di fornire ai programmatori esperti un riferimento rapido alle nuove funzionalità di C++11/14/17/20. Copre miglioramenti nell'usabilità del linguaggio, ottimizzazioni in fase di esecuzione, nuovi contenitori, puntatori intelligenti e gestione della memoria, espressioni regolari, programmazione concorrente e una preview di C++20.

4.8
30.0h
318 studenti
2 mi piace
Intelligenza Artificiale
Inizia ad imparare

Panoramica del corso

📚 Riepilogo del contenuto

Questo tutorial è stato progettato per fornire agli sviluppatori esperti un riferimento rapido alle nuove funzionalità di C++11/14/17/20. Il contenuto copre miglioramenti nell'usabilità linguistica, ottimizzazioni a runtime, l'utilizzo di nuovi contenitori, puntatori intelligenti e gestione della memoria, espressioni regolari, programmazione concorrente e una preview di C++20.

Fai rapidamente il punto su C++11/14/17/20 e attraversa la porta d'ingresso verso la programmazione moderna in C++.

Autore: 欧长坤 (Ou Changkun)

Ringraziamenti: Rilasciato sotto licenza CC BY-NC-ND 4.0, grazie a tutti i contributori GitHub e alla comunità correlata.

🎯 Obiettivi di apprendimento

  1. Identificare e verificare l'ambiente del compilatore C++ e l'architettura target utilizzando strumenti da riga di comando.
  2. Spiegare la compatibilità standard e la storia sovrapposta tra C (C89, C99, C11) e C++ (C++98, C++1x).
  3. Implementare il collegamento interlingua funzionale usando intestazioni extern "C" e flussi di compilazione a più fasi.
  4. Risolvere l'ambiguità dei puntatori con nullptr e implementare logica a tempo di compilazione con constexpr e if constexpr.
  5. Semplificare dichiarazioni complesse con auto, decltype e alias di tipo (using), garantendo un design orientato agli oggetti robusto con override e final.
  6. Progettare codice altamente generico utilizzando template variadici, espressioni fold e deduzione dei parametri template non tipici.
  7. Definire e implementare espressioni Lambda con diversi modi di cattura (Valore, Riferimento, Espressione e Generico).
  8. Utilizzare std::function e std::bind per creare wrapper funzionali flessibili e applicazioni parziali di funzioni.
  9. Classificare le espressioni in Lvalues, Prvalues e Xvalues, e applicare la semantica di spostamento per ottimizzare la gestione delle risorse della classe.
  10. Distinguere tra i modelli di memoria e i casi d'uso di std::array (dimensione fissa, stack) e std::vector (dimensione dinamica, heap).

Lezioni