c++ - 不连续的嵌套命名空间

标签 c++ namespaces

我有一个项目,其中需要嵌套命名空间,但这些命名空间将分布在多个 header 上。

//BaseDeclaration.h
namespace Base_NS
{
namespace Element_NS{};
namespace StockItem_NS{};
}

这是我的 Base Header 的结构。

现在我想在 Element.h 中使用 Element_NS 或在 StockItem.h 中使用 StockItem_NS 使用这些不连续的嵌套命名空间的最佳方式是什么。

//Element.h
namespace Base_NS{
namespace Element_NS{
int data;
}
}

or 

namespace Element_NS{
int data;
}

或者是否有其他适合处理此类情况的方法。

谢谢

最佳答案

直到 c++17:

namespace Base_NS{
  namespace Element_NS{
    int data;
  }
}

从 c++17 开始:

namespace Base_NS::Element_NS {
  int data;
}

关于c++ - 不连续的嵌套命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34335744/

相关文章:

python - 无法安装两个使用相同命名空间的包

xml - 带有命名空间的 XSLT 导致问题

python - 与 Python 中的导入进一步混淆

c++ - 如何创建使用重写函数的非成员函数?

c++ - 在这种情况下有什么正确的方法来实现锁定?

c++ - 在列表中,删除与删除相同吗?

C++ 对抽象父级中继承子级的引用

c++ - 我们什么时候需要在 c 中进行深度复制

python - Python 包可以包含用 C 或 C++ 编写的模块吗?

namespaces - 跨域(DDD)实体的命名空间