【发布时间】:2015-02-10 02:36:04
【问题描述】:
我习惯了 Java/C# 处理包的方式。尽管我的大部分工作都是用 C++ 完成的,但我已经有一段时间远离命名空间了。
我知道我可以有多个这样的命名空间:
namespace A
{
class Foo;
}
namespace B
{
namespace C
{
class Bar;
}
}
这很好。我想要理解的是以下场景:
namespace A
{
class Foo;
}
namespace B
{
namespace A
{
class Bar : public A:Foo //here A shows up as namespace B::A
{
};
}
}
在 Java 中,如果我要编写一个包装器,我会这样做。假设我试图将 Artemis 框架移植到我的引擎中。如果我需要编写一个完整的包装器,它会被命名为 MyEngine.Artemis 包名。
在 C++ 中,这可能吗?更重要的是,这是处理此类任务的适当方式吗?
【问题讨论】:
-
您也可以使用范围运算符
::来指示全局范围,例如::A::Foo -
@JoachimPileborg 将其作为答案发布。我花了几个小时试图弄清楚!
标签: c++ namespaces