Namespace | Name Visibility in C++

By
Advertisement
A namespace is a declarative region that provides a scope to the identifiers (the names of types, functions, variables, etc) inside it. Namespaces are used to organize code into logical groups and to prevent name collisions that can occur especially when your code base includes multiple libraries. All identifiers at namespace scope are visible to one another without qualification. Identifiers outside the namespace can access the members by using the fully qualified name for each identifier.

Consider following C++ program.


int main()
{
    int a;
    a = 0;
    double a; // Error here
    a = 0.0;
}

Output :

Compiler Error:

'a' has a previous declaration as 'int a'

In each scope, a name can only represent one entity. So, there cannot be two variables with the same name in the same scope. Using namespaces, we can create two variables or member functions having the same name.

0 comments:

Post a Comment