Skip to content

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:

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.

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).

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.