使用 "多 "个名字空间的单行本。

问题描述 投票:0回答:1

是否有一种简化的方法来包含更多的命名空间,而不是每次都输入相同的东西。这是非常烦人的,特别是在.h文件中。

例如,在.h文件中。

与其写:

int f() {
    using namespace blabla1;
    using namespace blabla2;
    using namespace blabla3;

}

我更喜欢:

using myNamespace = blabla1, blabla2, blabla3;

int f() {
    using namespace myNamespace;
    /// this will be equivalent to the previous example
    }

谢谢。

c++ c++11 namespaces inline-namespaces
1个回答
5
投票

使用指令是转义的。因此,如果你把它们集合到一个单独的命名空间里

namespace All {
    using namespace A;
    using namespace B;
    using namespace C;
}

然后你可以简单地做

using namespace All;

而非限定名查询也可以。

实例


4
投票

我不知道这是否对你有帮助,但如果你想避免每次都使用多个语句,你可以把上面的命名空间,包进另一个命名空间。

namespace myNameSpace {
  using namespace blabla1;
  using namespace blabla2;
  using namespace blabla3;
}

然后像这样使用

int f() {
    using namespace myNameSpace;
}

下面是一个 演示.

© www.soinside.com 2019 - 2024. All rights reserved.