Using the scope resolution operator: '::' : block scope variable « Language Basics « C++ Tutorial






#include <iostream>
using std::cout;
using std::endl;

int count1 = 100;

int main() {     
  int count1 = 10;
  int count3 = 50;
  cout << endl << "Value of outer count1 = " << count1;
  cout << endl << "Value of global count1 = " << ::count1;

  {              
    int count1 = 20;
    int count2 = 30;
    cout << endl << "Value of inner count1 = " << count1;
    cout << endl << "Value of global count1 = " << ::count1;
    count3 += count2;
  }                 

  cout << endl
       << "Value of outer count1 = " << count1
       << endl
       << "Value of outer count3 = " << count3;

  cout << endl;
  return 0;
}
Value of outer count1 = 10
Value of global count1 = 100
Value of inner count1 = 20
Value of global count1 = 100
Value of outer count1 = 10
Value of outer count3 = 80








1.6.block scope variable
1.6.1.Variable block scope
1.6.2.Variables can be local to a block
1.6.3.Inner block variable scope
1.6.4.Names in inner scopes can hide names in outer scopes.
1.6.5.Using the scope resolution operator: '::'
1.6.6.global and block scope
1.6.7.scope code block
1.6.8.global variables across functions
1.6.9.Using the scope resolution operator (2)