Il existe un opérateur de résolution de portée
noté : : permettant d’accéder à
des variables globales en lieu et place de la variable locale
du même nom.
Exemple :
int indice = 11;
int
main() {
int indice= 34;
{ int indice = 23;
::indice = ::indice + 1;
cout << ::indice<< " " << indice<<
endl;
}
cout << ::indice<< " " << v<<
endl;
}
Résultat de l’exécution :
12 23
12 34
Bien que l’on puisse y voir un intérêt
certain, cette pratique est à proscrire. Elle n’améliore
pas la lisibilité des programmes, et bien au contraire
complique les modifications et/ou les mises à jour.