3

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

例如:

而不是写:

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

}

我会比较喜欢:

使用 myNamespace = blabla1,blabla2,blabla3;

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

谢谢

4

2 回答 2

6

使用指令是可传递的。因此,如果您将它们聚合到单个命名空间中

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

然后你可以简单地做

using namespace All;

并且不合格的名称查找将起作用。

活生生的例子

于 2020-05-13T13:52:30.290 回答
3

我不确定这是否对您有帮助,但如果您想避免每次使用多个 using 语句,您可以将上述命名空间包装到另一个命名空间中:

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

然后像这样使用它:

int f() {
    using namespace myNameSpace;
}

这是一个演示

于 2020-05-13T13:52:25.483 回答