- Direttiva #include
La direttiva #include dice al preprocessore di inserire il contenuto di un altro file nel codice sorgente nel punto in cui si trova la direttiva #include.
Le direttive #include sono tipicamente usate per includere i file header C++ / C per funzioni che si trovano al di fuori del file sorgente corrente.
- iostream
Un header che definisce gli oggetti standard input/output stream. Principalmente usato per cin e cout.
- namespace
Supponiamo che tu abbia una funzione chiamata max() e che ci sia un'altra libreria disponibile che ha anche qualche funzione max(). Ora il compilatore non ha modo di sapere a quale funzione max() vi state riferendo all'interno del vostro codice.
Un namespace è definito per superare questa difficoltà ed è usato come informazione aggiuntiva per differenziare funzioni simili, classi, variabili ecc. In sostanza, uno spazio dei nomi definisce un ambito.
- std
Nello spazio dei nomi std vengono dichiarate funzioni della libreria standard C++, come stringhe o vettori.
Se non scrivete usando lo spazio dei nomi std; e il compilatore vede la stringa o il vettore non saprà a cosa vi state riferendo. Dovrete dirgli esplicitamente std::string o std::vector, e se non lo fate, otterrete un errore di compilazione.