Riepilogo
Questa lezione scompone il programma minimo di C++ nei suoi pezzi e spiega il ruolo di ciascuno. La direttiva di inclusione dichiara da quali parti della libreria dipende il programma, e ogni componente esige il proprio header, anche se a volte un altro lo porta con sé «di rimbalzo»; la funzione main è il punto di ingresso, e il suo valore di ritorno, il codice di uscita che riceve il sistema; il namespace std riunisce i nomi della libreria, e il corso li scrive sempre con il loro prefisso; le istruzioni terminano con un punto e virgola, le parentesi graffe raggruppano le istruzioni in blocchi e i commenti spiegano ciò che il codice non dice da sé. La lezione termina con la guida di stile che il corso segue in tutti i suoi programmi, e con il modo di leggere il codice altrui che usa std::cout e std::endl.
Obiettivi di apprendimento
- Identificare in un programma la direttiva di inclusione, la funzione
main, le istruzioni, i blocchi e i commenti, e spiegare il ruolo di ciascuno. - Spiegare che cosa fa
#includee perché ogni componente della libreria esige il proprio header, anche se il programma compila senza di esso con un compilatore determinato. - Correggere un programma con errori di struttura (graffa non chiusa, punto e virgola mancante, header omesso) a partire dai messaggi del compilatore, letti dal primo.
- Riscrivere un programma secondo la guida di stile del corso e giustificare ogni modifica.
Il programma minimo
Nella lezione precedente si è compilato ed eseguito un programma senza esaminarlo. Ora lo si legge riga per riga, perché ogni riga risponde a un’esigenza diversa: una del linguaggio, un’altra del sistema operativo, un’altra di chi legge il codice. Il programma è questo.
// Primo programma: scrive una riga e termina.#include <print>int main(){ std::println("Ciao, mondo");}Ciao, mondoLa prima riga è un commento: comincia con due barre e arriva fino alla fine della riga, e il compilatore lo scarta; è scritto per chi leggerà il programma. La seconda è una direttiva di inclusione: chiede che prima di compilare si incorpori l’header <print>, dove la libreria standard dichiara std::println. La riga vuota non ha alcun effetto; separa la preparazione del programma dal suo contenuto. La quarta riga apre la funzione main, il luogo in cui comincia l’esecuzione, e la graffa della quinta apre il suo blocco, che si chiude nell’ultima riga. Dentro il blocco c’è una sola istruzione, terminata da un punto e virgola: la chiamata a std::println, che scrive il testo tra virgolette e poi un ritorno a capo.
Va notato che il programma non contiene alcuna istruzione per terminare. Arrivata alla graffa finale di main, l’esecuzione termina, e il programma comunica al sistema che tutto è andato bene; più avanti si vedrà come. Ne segue che cinque pezzi bastano per un programma completo: commenti, direttive, la funzione main, blocchi e istruzioni. Le sezioni seguenti li esaminano in quest’ordine, tranne i commenti, che si trattano insieme alle istruzioni e ai blocchi.
Nel programma del saluto, la direttiva è la riga 2; la funzione main occupa le righe da 4 a 7; il suo blocco va dalla graffa della riga 5 a quella della riga 7; l’unica istruzione è la riga 6, e l’unico commento, la riga 1. Se si cancella il commento, il programma si compila allo stesso modo e produce lo stesso output; se si cancella uno qualsiasi degli altri pezzi, smette di compilare o di essere un programma.
Caricamento del contenuto…