Externe
Les objets et les variables déclarées comme extern déclarez un objet défini dans une autre unité de traduction ou dans une portée englobante comme ayant une liaison externe.
La déclaration des variables de const à la classe de stockage d' extern force la variable comme ayant une liaison externe.Il permet une initialisation d'une variable de const extern dans l'unité de traduction de définition.Les initialisations dans les unités de traduction autres que l'unité de traduction de définition produisent des résultats indéfinis.
Le code suivant montre deux déclarations d' extern , DefinedElsewhere (ce qui fait référence à un nom défini dans une unité de traduction différente) et DefinedHere (ce qui fait référence à un nom défini dans une portée englobante) :
// external.cpp
// defined in another translation unit
extern int DefinedElsewhere;
int main() {
int DefinedHere;
{
// refers to DefinedHere in the enclosing scope
extern int DefinedHere;
}
}