Loading...
Loading...

C++ Namespace Tutorial

A namespace in C++ provides a way to organize code and prevent naming conflicts, especially in large projects with multiple libraries. It allows you to define a scope for variables, functions, and classes.

What is a Namespace?

Namespaces in C++ are used to group related code and avoid conflicts between identifiers with the same name. For example:


#include <iostream>
using namespace std;

namespace Math {
    int add(int a, int b) {
        return a + b;
    }
}

namespace Physics {
    int add(int a, int b) {
        return a * b; // Example with a different operation
    }
}

int main() {
    cout << "Math Add: " << Math::add(3, 4) << endl;  // Outputs: 7
    cout << "Physics Add: " << Physics::add(3, 4) << endl;  // Outputs: 12
    return 0;
}
                

Using the `using` Keyword

The `using` keyword simplifies access to a namespace's members, avoiding the need to prefix with the namespace name:


#include <iostream>
using namespace std;
using namespace Math;

namespace Math {
    int subtract(int a, int b) {
        return a - b;
    }
}

int main() {
    cout << subtract(10, 5) << endl;  // No need to use Math::subtract
    return 0;
}
                

Nested Namespaces

Namespaces can also be nested to provide a hierarchical structure:


#include <iostream>
namespace Outer {
    namespace Inner {
        int multiply(int a, int b) {
            return a * b;
        }
    }
}

int main() {
    std::cout << Outer::Inner::multiply(4, 5) << std::endl;  // Outputs: 20
    return 0;
}
                

Benefits of Namespaces

  • Prevents naming conflicts in large projects.
  • Organizes code for better readability.
  • Allows use of same names in different contexts.
0 Interaction
2K Views
Views
42 Likes
×
×
×
🍪 CookieConsent@Ptutorials:~

Welcome to Ptutorials

$ Allow cookies on this site ? (y/n)

top-home