Dal C al C++/Utilizzo basilare di librerie/I file di intestazione
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 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:
// File di intestazione ereditati dal C:
#include <stdio.h>
#include <math.h>
//Nuovi file di intestazione:
#include <cstdio>
#include <cmath>