I switched from C++ to Java and C# and think the usage of namespaces/packages is much better there (well structured). Then I came back to C++ and tried to use namespaces the
C++17 might simplify nested namespace definition:
namespace A::B::C { }
is equivalent to
namespace A { namespace B { namespace C { } } }
See (8) on namespace page on cppreference: http://en.cppreference.com/w/cpp/language/namespace