Externí
Objekty a proměnné deklarované jako extern deklarují objekt, který je definován v jiné jednotce překladu nebo v ohraničujícím rozsahu, jako kdyby měly vnější propojení.
Deklarace proměnné const pomocí třídy úložiště extern vynutí vnější propojení u proměnné.Inicializace proměnné extern const je povolena v definici jednotky překladu.Inicializace v jednotkách překladu, které jsou jiné, než definující jednotka překladu vytvářejí nedefinované výsledky.
Následující kód zobrazuje dvě deklarace extern, DefinedElsewhere (které odkazují na název definovaný v jiné jednotce překladu) a DefinedHere (odkazuje na název definovaný v ohraničujícím oboru):
// external.cpp
// defined in another translation unit
extern int DefinedElsewhere;
int main() {
int DefinedHere;
{
// refers to DefinedHere in the enclosing scope
extern int DefinedHere;
}
}