perché c++
c++ offre controllo diretto su memoria e prestazioni, ma richiede disciplina. è ideale per sistemi critici, realtime, tooling e software ad alte prestazioni.
focus: ownership, efficienza, standard moderno (c++17/20).
setup ambiente
usa un compilatore moderno (clang o gcc) e un editor con linting.
# mac
brew install llvm
# compile
c++ -std=c++20 main.cpp -o app
./app
hello world
#include <iostream>
int main() {
std::cout << "hello, c++" << std::endl;
return 0;
}
in c++ ogni programma parte da main. usa std::cout per output.
memoria e risorse
adotta il principio raii: le risorse vengono liberate quando l'oggetto esce dallo scope.
#include <vector>
std::vector<int> values = {1,2,3};
// la memoria viene gestita automaticamente
prossime lezioni
lezione 01
fondamenti e compilazione
tipi, header, build, errori comuni.
aprilezione 02
puntatori e smart pointer
raw pointers, ownership e gestione sicura.
aprilezione 03
classi e oop moderna
costruttori, polimorfismo, best practice.
aprilezione 04
stl e algoritmi
container e algoritmi standard.
aprilezione 05
templates e generic programming
riuso e astrazione con template.
aprilezione 06
build system con cmake
progetti multi-file e dependency.
aprilezione 07
concorrenza e thread
thread, mutex e async.
aprilezione 08
performance e profiling
benchmark, profiling, cache.
aprilezione 09
architettura moderna
api stabili, pimpl e design pulito.
apriapprofondimenti
lezioni bonus per spingere memoria, concorrenza e design al livello successivo.