Namespaces

Organizing code with namespaces

Interview Relevant: Code organization

Namespaces

Namespaces prevent naming conflicts by grouping related code.

Namespace Features

  • std:: Standard library namespace
  • using: Bring names into current scope
  • Nested namespaces: Namespaces within namespaces
  • Anonymous namespaces: Internal linkage (like static)
  • Inline namespaces: Version control (C++11)

Code Examples

Creating and using namespaces for code organization.

cpp
1// Defining a namespace
2namespace MyLib {
3    int value = 42;
4    void print() {
5        std::cout << "MyLib" << std::endl;
6    }
7}
8
9// Using namespace members
10MyLib::print();
11int x = MyLib::value;
12
13// using directive (brings all names)
14using namespace std;  // Avoid in headers!
15cout << "Hello" << endl;
16
17// using declaration (specific name)
18using std::cout;
19using std::endl;
20
21// Nested namespaces (C++17)
22namespace A::B::C {
23    void foo() {}
24}
25A::B::C::foo();
26
27// Anonymous namespace (internal linkage)
28namespace {
29    int internal_var = 10;  // Only visible in this file
30}
31
32// Namespace alias
33namespace fs = std::filesystem;

AI Tutor

Ask about the topic

Sign in Required

Please sign in to use the AI tutor

Sign In