Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 958 Bytes

nested_inline_mamespaces.md

File metadata and controls

34 lines (24 loc) · 958 Bytes

入れ子名前空間定義でのインライン名前空間

  • cpp20[meta cpp]

概要

C++17で、入れ子の名前空間をnamespace ns1::ns2::ns3 {}のように簡易的に定義できるようになったが、インライン名前空間の指定はできなかった。

C++20では、namespace ns1::inline ns2::ns3 {}のように、入れ子名前空間を一度に定義する場合でも一部の名前空間をインラインの指定をできるようにする。

以下の定義は、

namespace ns1::inline ns2::ns3 {
  class X;
}

以下と等価である:

namespace ns1 {
inline namespace ns2 {
namespace ns3 {
  class X;
}}}

関連項目

参照