The scope says how long the variable lives or I can say how long the value in the variable is persisted without losing its value. For example look at the function below:

int somefunction()

{

int x;

int y;

//Some work here

x = 15;

y = y * y * y;

}

In the above function the scope of the variable x and y is inside the function. That means when the function returns the variable values x and y are lost. You may not expect the value of 15 in x in the comment shown when the same function is called next time since the value is lost at the end of the previous function call.

OK. Visibility is the value x is visible only inside the function. Other functions are not aware of x. If you assume the value x is declared outside the function at the top of the CPP file and there are three more functions in the same .cpp file, then variable x is visible inside all the function.

In the above function Scope and visibility of variable x is inside somefunction()