Namespaces
Variants

Namespace aliases

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Namespace aliases
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

名前空間エイリアスは、プログラマーが名前空間に対して代替名を定義することを可能にします。

これらは、長いまたは深くネストされた名前空間の便利なショートカットとして一般的に使用されます。

目次

構文

namespace alias_name = ns_name ; (1)
namespace alias_name = :: ns_name ; (2)
namespace alias_name = nested_name :: ns_name ; (3)

説明

新しいエイリアス alias_name は、 ns_name にアクセスする代替手段を提供します。

alias_name は以前に使用されていない名前でなければなりません。 alias_name は、それが導入されたスコープの期間中のみ有効です。

キーワード

namespace

#include <iostream>
namespace foo
{
    namespace bar
    {
         namespace baz
         {
             int qux = 42;
         }
    }
}
namespace fbz = foo::bar::baz;
int main()
{
    std::cout << fbz::qux << '\n';
}

出力:

42

関連項目

namespace declaration 名前空間を識別する
type alias declaration (C++11) 型の別名を作成する