Esterno
Oggetti e variabili dichiarate come extern dichiarare un oggetto definito in un'altra unità di conversione o in un ambito che lo contiene come dotata di collegamento esterno.
dichiarazione di const variabili con extern la classe di archiviazione impone la variabile per disporre di collegamento esterno.L'inizializzazione di un oggetto const esterno la variabile è consentita nell'unità di conversione di definizione.Le inizializzazioni in unità di conversione da unità di conversione definizione producono risultati non definiti.
Il codice seguente vengono illustrati due extern dichiarazioni, DefinedElsewhere (che fa riferimento a un nome definito in un'unità di conversione diverso) e DefinedHere (che fa riferimento a un nome definito in un ambito che lo contiene):
// external.cpp
// defined in another translation unit
extern int DefinedElsewhere;
int main() {
int DefinedHere;
{
// refers to DefinedHere in the enclosing scope
extern int DefinedHere;
}
}