Namespace aliases allow the programmer to define an alternate name for a namespace.
They are commonly used as a convenient shortcut for long or deeply-nested namespaces.
namespace alias_name = ns_name; | (1) | |
namespace alias_name = :: ns_name; | (2) | |
namespace alias_name = nested_name:: ns_name; | (3) |
The new alias alias_name provides an alternate method of accessing ns_name.
alias_name must be a name not previously used. alias_name is valid for the duration of the scope in which it is introduced.
#include <iostream> namespace foo { namespace bar { namespace baz { int qux = 42; } } } namespace fbz = foo::bar::baz; int main() { std::cout << fbz::qux << '\n'; }
Output:
42
namespace declaration | identifies a namespace |
type alias declaration (C++11) | creates a synonym for a type |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/language/namespace_alias