Dal C al C++: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 543:
 
Nei file di intestazione, invece è buona regola usare sempre la qualificazione esplicita, e non usare mai la direttiva "using namespace", in quanto tale direttiva si applicherebbe a tutte le unità di compilazione che, direttamente o indirettamente, includono tale file di intestazione.
 
== I file di intestazione standard ==
 
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:
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<string> vs;
vs.push_back("abc");
cout << vs.front();
}
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 lo stream 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:
// File di intestazione ereditati dal C:
#include <stdio.h>
#include <math.h>
 
//Nuovi file di intestazione:
#include <cstdio>
#include <cmath>
 
{{wikipedia|titolopedia=C plus plus|titolobooks=il linguaggio C++}}