modernize-concat-nested-namespaces¶
检查嵌套命名空间的使用,例如 namespace a { namespace b { ... } }
,并建议更改为 C++17 中引入的更简洁的语法:namespace a::b { ... }
。内联命名空间不会被修改。
例如
namespace n1 {
namespace n2 {
void t();
}
}
namespace n3 {
namespace n4 {
namespace n5 {
void t();
}
}
namespace n6 {
namespace n7 {
void t();
}
}
}
// in c++20
namespace n8 {
inline namespace n9 {
void t();
}
}
将被修改为
namespace n1::n2 {
void t();
}
namespace n3 {
namespace n4::n5 {
void t();
}
namespace n6::n7 {
void t();
}
}
// in c++20
namespace n8::inline n9 {
void t();
}