Una semplice guida in italiano per programmare in C++.
Questa è un piccola e semplice guida che ho voluto scrivere per ripassare, approfondire e imparare meglio a mia volta questo meraviglioso linguaggio che è C++.
Questa non è una narrazione è più una raccolta di frammenti di codice, brevi spiegazioni e semplici esempi sulle componenti del linguaggio.
Questa guida presenta 5 capitoli:
- Basi del Linguaggio
- Concetti Intermedi
- Concetti Avanzati
- Le gemme degli Algoritmi
- Linee guida del Linguaggio
Questo capitolo tratta i concetti basilari del linguaggio, quali: variabili, costanti, tipologie, operatori, costrutti, if else, loops, arrays, matrici, enums, caratteri e stringhe, funzioni, header files, namespaces, strutture, union, classi, convenzioni del linguaggio e tanto altro..
Qui si passa a concetti un po' più complicati e importanti del linguaggio: templates, vector, iteratori, virtual, polimorfismo, tipi di casts, tipi di costruttori, move semantics, classi astratte e tante altre curiosità.
In questo capitolo vengono trattati argomenti più avanzati del linguaggio come: friend, smart pointers, RAII, Return Type Resolver, Type Erasure, CRTP, Virtual Constructor, SFINAE, Proxy.
Qui si va nelle viscere della Libreria degli Algoritmi trattando tutti i principali argomenti a riguardo, ovvero operazioni su: sequenze non modificabili, sequenze modificabili, partizioni, ordinamento, ricerca binaria, merge, insiemi, heap, min e max, comparazione, permutazioni, numeriche, memoria non inizializzata e anche argomenti non della libreria, ma comunque utili ed inerenti: optionals, execution policies e argomenti sul C++20: Ranges, ranges views, Concepts, Modules, Coroutines.
In questo capitolo vengono trattate le convenzioni, le linee guida del C++ in base alle CppCoreGuidelines.
- Multithreading
- Performance | Clean Code | Competitive Programming
- Design Patterns
- C++23