39. Aliasing Nested Namespace

#include <iostream>
using namespace std;

namespace Communication {
    namespace I2C {
        int speed = 400000; // 400 kHz
    }
}

int main() {
    namespace CI = Communication::I2C;
    cout << "I2C Speed: " << CI::speed;
    return 0;
}

Explanation & Logic Summary:

  • namespace CI = Communication::I2C; creates a namespace alias
  • Instead of writing Communication::I2C::speed, we can write CI::speed
  • This improves readability without changing behavior

Layman’s Terms

It’s like creating a shortcut to a deep folder so you don’t have to navigate the full path every time.

Firmware Relevance & Real-World Context

Embedded projects often use deeply nested namespaces for hardware abstraction layers (HALs), drivers, and protocols.
Namespace aliasing improves readability and reduces clutter in firmware code while preserving structure.

 

 

 

 

 

 

Loading...

Input

Expected Output

I2C Speed: 400000