Condividi tramite


Utilizzando le intestazioni della libreria C++

Include il contenuto di un'intestazione standard denominandola in una direttiva di inclusione.

#include <iostream>   // include I/O facilities

È possibile includere più volte le intestazioni standard in qualsiasi ordine, un'intestazione standard, o due o più intestazioni standard che definiscono la stessa macro o le stesse tipo.Non includere un'intestazione standard nella dichiarazione.Non definire le macro che hanno gli stessi nomi come parole chiave prima di importare un'intestazione standard.

L'intestazione della libreria C++ include tutte le altre intestazioni della libreria di C++ deve definire i tipi necessari.(Includere sempre in modo esplicito le intestazioni della libreria di C++ necessarie in unità di conversione, tuttavia, che non indovinate il presentano sulle relative dipendenze effettive.) Un'intestazione standard c non includono mai un'altra intestazione standard.Un'intestazione standard dichiarano o definisce solo le entità descritte per in questo documento.

Ogni funzione nella libreria è dichiarata in un'intestazione standard.A differenza del linguaggio c standard, l'intestazione standard non vengono mai una macro di definizione della maschera con lo stesso nome della funzione che nasconde la dichiarazione e raggiunge lo stesso effetto.Per ulteriori informazioni sulla definizione delle macro, vedere Convenzioni della libreria C++.

Tutti i nomi diverso da operator delete e operator new le intestazioni della libreria di C++ sono definiti nello spazio dei nomi std, o in uno spazio dei nomi annidato all'interno dello spazio dei nomi std.Per fare riferimento al nome cin, ad esempio, come std::cin.Nota, tuttavia, che i nomi di macro non sono soggette alla qualifica di spazio dei nomi, pertanto si scrive sempre __STD_COMPLEX senza un qualificatore dello spazio dei nomi.

In alcuni ambienti di conversione, compresa l'intestazione della libreria C++ può generare i nomi esterni dichiarati nello spazio dei nomi std nello spazio dei nomi globale, anche alle dichiarazioni using utente per ognuno dei nomi.In caso contrario, l'intestazione non vengono presentati alcuni nomi della libreria nello spazio dei nomi corrente.

Lo standard C++ richiede che le intestazioni standard c dichiari i nomi esterni nello spazio dei nomi std, quindi li genera nello spazio dei nomi globale con dichiarazioni using utente per ognuno dei nomi.Ma in alcuni ambienti di conversione le intestazioni standard c non includono dichiarazioni dello spazio dei nomi, dichiaranti tutti i nomi direttamente nello spazio dei nomi globale.Pertanto, la modalità più portabile gestire gli spazi dei nomi è di utilizzare due regole:

  • Per raggruppare dichiarare nello spazio dei nomi std un nome esterno dichiarato in precedenza in <stdlib.h>, ad esempio, include l'intestazione <cstdlib>.Sia che il nome potrebbe anche essere dichiarato nello spazio dei nomi globale.

  • Per raggruppare in una dichiarazione dello spazio dei nomi globale un nome esterno dichiarato in <stdlib.h>, includere direttamente l'intestazione <stdlib.h> .Sia che il nome potrebbe anche essere dichiarato nello spazio dei nomi std.

Pertanto, se si desidera chiamare std::abort per causare l'interruzione anomala, è necessario importare <cstdlib>.Se si desidera chiamare abort, è necessario importare <stdlib.h>.

In alternativa, è possibile scrivere la dichiarazione:

using namespace std;

quale vengono illustrati tutti i nomi della libreria nello spazio dei nomi corrente.Se si scrive questa dichiarazione immediatamente dopo tutte le direttive include, si generano i nomi nello spazio dei nomi globale.Successivamente è possibile ignorare le considerazioni dello spazio dei nomi nel resto dell'unità di conversione.Anche evitare la maggior parte delle differenze tra gli ambienti diversi della conversione.

A meno che in particolare visualizzato in caso contrario, non è possibile definire nomi nello spazio dei nomi std, o in uno spazio dei nomi annidato all'interno dello spazio dei nomi std, nel programma.

Vedere anche

Riferimenti

Panoramica della libreria C++ standard

Thread safety della libreria C++ standard