Namespace aliases
From cppreference.com
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.
Syntax
namespace alias_name = ns_name;
|
(1) | ||||||||
namespace alias_name = ::ns_name;
|
(2) | ||||||||
namespace alias_name = nested_name::ns_name;
|
(3) | ||||||||
namespace alias_name = splice-specifier;
|
(4) | (since C++26) | |||||||
| alias_name | - | an identifier |
| ns_name | - | a (possibly qualified) identifier that names a namespace or namespace alias |
| splice-specifier | - | a splice specifier that designates a namespace that is not the global namespace |
Explanation
The new alias alias_name provides an alternate method of accessing ns_name or the namespace designated by splice-specifier(since C++26).
alias_name must be a name not previously used. alias_name is valid for the duration of the scope in which it is introduced.
Keywords
Example
Run this code
#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
See also
| namespace declaration | identifies a namespace |
| type alias declaration (C++11) | creates a synonym for a type |