Dans un programme C, si une variable locale a le même nom qu'une variable globale, c'est elle qui est utilisée dans le bloc de définition de cette variable. La variable globale n'étant pas accessible. En C++, il est possible d'exploiter la variable globale en faisant précéder cette variable du double symbole '::'.
int a=1 ; // variable globale ... { char a='c' ; // affichage des deux variables cout << a << ::a << endl ;à détailler la portée dans les variables for ainsi que la déclaration de variables à n'importe quel endroit dans un bloc. l'opérateur '::' fait toujours référence à la variable globale
#include <iostream.h> int x=3 ; int main(void) { cout << x << endl ; // affiche 3 char x='c' ; cout << x << endl ; // affiche c cout << ::x << endl ; // affiche 3 { cout << "sous-bloc" << endl ; float x = 3.14 ; cout << x << endl ; // affiche 3.14 cout << ::x << endl ; // affiche 3 } return 0 ; }