Il tuo primo programma in C++
«… con tale violenza caddi a terra che rimasi stordito, e in una buca profonda nove braccia sotto l’erba… Guardando in basso, notai che avevo un paio di stivali con cinghie eccezionalmente robuste. Afferrandole saldamente, tirai (ripetutamente) con tutte le mie forze.»
— Rudolph Erich Raspe, Le singolari avventure del Barone di Münchhausen
Il C++ ha la reputazione consolidata di essere un linguaggio ostico da apprendere. È vasto, potente e ambizioso. Una delle ragioni principali di questa complessità è che le funzionalità del C++ sono fortemente interconnesse (tightly coupled). In questo corso adotteremo un approccio deliberato, lineare e rigoroso: costruiremo le competenze mattone dopo mattone (brick by brick).
1. La Struttura di un Programma C++ di Base
Section titled “1. La Struttura di un Programma C++ di Base”I programmi in C++ vengono redatti come testo semplice leggibile dagli esseri umani all’interno di file sorgente (estensione .cpp). Un compilatore converte poi questo codice in codice macchina eseguibile.
Esaminiamo il codice di un programma fondamentale:
#include <cstdio>
int main() { printf("Hello, world!\n"); return 0;}Mettiamolo subito alla prova nell’editor interattivo:
Anatomia del programma riga per riga
Section titled “Anatomia del programma riga per riga”1. Librerie e inclusione del codice esterno
Section titled “1. Librerie e inclusione del codice esterno”La funzione printf non è definita direttamente all’interno del nostro programma: appartiene alla libreria standard di I/O, resa disponibile tramite l’header <cstdio>. Le librerie sono collezioni strutturate di codice riutilizzabile.
2. La funzione main: il punto di ingresso
Section titled “2. La funzione main: il punto di ingresso”Ogni programma C++ deve avere uno e un solo punto di ingresso (entry point): la funzione main.
La firma int main() specifica che la funzione restituisce un numero intero (int).
3. Codici di uscita (Exit Codes)
Section titled “3. Codici di uscita (Exit Codes)”All’interno di main, return 0; restituisce il valore 0 al sistema operativo.
Gli exit code sono numeri interi utilizzati dal sistema operativo per determinare l’esito dell’esecuzione. Per convenzione, il codice 0 indica che il programma è terminato con successo.