Externo
Objetos e variáveis declaradas como extern declarar um objeto que está definido em outra unidade de conversão ou em um escopo delimitador como tendo ligação externa.
Declaração de const variáveis com o extern classe de armazenamento força a variável de ligação externa.Uma inicialização de um extern const variável é permitida na unidade de conversão de definição.Inicializações em unidades de conversão diferente, por exemplo, a unidade de conversão definição produzem resultados indefinidos.
O código a seguir mostra dois extern declarações, DefinedElsewhere (que se refere a um nome definido em uma unidade de conversão diferentes) e DefinedHere (que se refere a um nome definido em um escopo delimitador):
// external.cpp
// defined in another translation unit
extern int DefinedElsewhere;
int main() {
int DefinedHere;
{
// refers to DefinedHere in the enclosing scope
extern int DefinedHere;
}
}