Followers

Saturday, August 12, 2023

Namespace in C++

 

In C++, a namespace is a way to organize and group related code elements, such as variables, functions, and classes, to prevent naming conflicts and maintain code clarity. It allows us to define identifiers in a separate scope, reducing the chance of naming collisions between different parts of our program or between our code and external libraries. Here's an example to illustrate the concept of namespaces:

cpp
#include <iostream> // Define a custom namespace named "Math" for mathematical operations namespace Math { int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } } // Define another custom namespace named "Geometry" for geometric calculations namespace Geometry { const double PI = 3.14159; double circleArea(double radius) { return PI * radius * radius; } } int main() { int sum = Math::add(5, 3); // Using the add function from the Math namespace int difference = Math::subtract(10, 4); // Using the subtract function from the Math namespace double radius = 2.5; double area = Geometry::circleArea(radius); // Using the circleArea function from the Geometry namespace std::cout << "Sum: " << sum << std::endl; std::cout << "Difference: " << difference << std::endl; std::cout << "Circle Area: " << area << std::endl; return 0; }

In the example above, two custom namespaces, "Math" and "Geometry," are defined. The "Math" namespace contains two functions for addition and subtraction, while the "Geometry" namespace defines a constant PI and a function to calculate the area of a circle. The main function demonstrates how to use these namespaces to access the functions and constants within them.

By using namespaces, we can create a clear separation of functionality and avoid naming conflicts, especially when our codebase becomes larger and more complex or when we're working with external libraries that might define similar identifiers.

No comments:

Post a Comment