# Dal C al C++/Utilizzo basilare di librerie/I file di intestazione

Dal C al C++
Copertina Tutti i moduli · Sviluppo
* IntroduzioneDal C al C++/Introduzione
** I destinatari del libroDal C al C++/Introduzione#I destinatari del libro
** La struttura del libroDal C al C++/Introduzione#La struttura del libro
** Impieghi del linguaggioDal C al C++/Introduzione#Impieghi del linguaggio
** PanoramicaDal C al C++/Introduzione#Panoramica
* Utilizzo basilare di librerie
** ArrayDal C al C++/Array
** Il tipo "bool"Dal C al C++/Utilizzo basilare di librerie/Il tipo "bool"
** L'uso di classi e oggettiDal C al C++/Utilizzo basilare di librerie/L'uso di classi e oggetti
** Dichiarazioni e definizioniDal C al C++/Utilizzo basilare di librerie/Dichiarazioni e definizioni
*** Le variabili riferimentoDal C al C++/Utilizzo basilare di librerie/Dichiarazioni e definizioni#Le variabili riferimento
*** Il modificatore "const"Dal C al C++/Utilizzo basilare di librerie/Dichiarazioni e definizioni#Il modificatore "const"
*** Il sovraccaricamentoDal C al C++/Utilizzo basilare di librerie/Dichiarazioni e definizioni#Il sovraccaricamento
*** L'inizializzazione degli oggettiDal C al C++/Utilizzo basilare di librerie/Dichiarazioni e definizioni#L'inizializzazione degli oggetti
*** L'allocazione degli oggettiDal C al C++/Utilizzo basilare di librerie/Dichiarazioni e definizioni#L'allocazione degli oggetti
** L'uso dei templateDal C al C++/Utilizzo basilare di librerie/L'uso dei template
** L'uso dei namespaceDal C al C++/Utilizzo basilare di librerie/L'uso dei namespace
** I file di intestazioneDal C al C++/Utilizzo basilare di librerie/I file di intestazione
** L'uso delle stringheDal C al C++/Utilizzo basilare di librerie/L'uso delle stringhe
** I canali di ingresso/uscitaDal C al C++/Utilizzo basilare di librerie/I canali di ingresso/uscita
** La gestione delle eccezioni
** I contenitori standardDal C al C++/Utilizzo basilare di librerie/I contenitori standard
** Le funzioni standardDal C al C++/Utilizzo basilare di librerie/Le funzioni standard
* Utilizzo avanzato di librerie
** Ridefinizione di funzioni membroDal C al C++/Utilizzo avanzato di librerie/Ridefinizione di funzioni membro
** I parametri di defaultDal C al C++/Utilizzo avanzato di librerie/I parametri di default
** Gli iteratori sui contenitori
** Gli algoritmi sui contenitori
* Creazione di librerie
** Classi isolateDal C al C++/Classi isolate
*** I costruttoriDal C al C++/Classi isolate#I costruttori
*** I distruttoriDal C al C++/Classi isolate#I distruttori
*** Separazione tra interfaccia e implementazioneDal C al C++/Classi isolate#Separazione tra interfaccia e implementazione
** Gerarchie di classiDal C al C++/Gerarchie di classi
** Proprietari di risorse
** Eccezioni
** Namespace
** Template di funzione
** Template di classe
** Algoritmi su sequenze
* La metaprogrammazione
* La progettazione del software
* Gioco life di ConwayDal C al C++/Gioco life di Conway
Modifica il sommario
Anche lo standard del linguaggio C++, analogamente allo standard del linguaggio C, definisce una libreria standard. Tale libreria è molto più grande di quella del C e, per compatibilità con tale linguaggio, comprende l'intera libreria standard del linguaggio C, anche per le funzionalità ormai obsolete.
Anche in C++, prima di utilizzare una funzionalità di libreria è necessario dichiarare tale funzionalità. A differenza del C, però, è praticamente obbligatorio e comunque fortemente consigliato effettuare tali dichiarazioni tramite l'inclusione di un file di intestazione, usando la direttiva del preprocessore "#include <nome_del_file_di_intestazione>".
Un'altra differenza con il linguaggio C sta nel fatto che i file di intestazione standard hanno un nome di file privo di suffisso (o estensione). Per esempio:
Questo programma ha incluso il file di intestazione "string" per poter usare la classe "string"; ha incluso il file di intestazione "vector" per poter usare il template di classe "vector"; e ha incluso il file di intestazione "iostream" per poter usare il canale di uscita "cout".
La parte di libreria standard ereditata dal linguaggio C può essere inclusa in due modi: o con gli stessi file di intestazione del C o con nuovi file di intestazione, privi di suffisso e con il prefisso "c". Per esempio, per le funzioni di ingresso/uscita e per le funzioni matematiche, si ha: