问题很简单,我可以在另一个名称空间内声明一个名称空间吗?如果是这样,这个命名空间的正确术语是什么,它会被称为“内部命名空间”还是“嵌套命名空间”,或者可能是完全不同的东西?
答案 0 :(得分:3)
"我可以在另一个名称空间内声明一个名称空间吗?"
是的,您可以根据需要嵌套命名空间
namespace A {
struct thingA;
void funcA();
namespace B {
struct thingC;
void funcB();
namespace C {
struct thingC;
void funcC();
}
}
}
使用::
(范围)运算符参考上述声明:
A::thingA thingA;
A::funcA();
A::B::thingB thingB;
A::B::funcB();
A::B::C::thingC thingC;
A::B::C::funcC();
"这个命名空间的正确术语是什么,它是否被称为“内部命名空间”'或者是一个嵌套的命名空间',或者可能是完全不同的东西?"
而且,是的,它通常被称为'嵌套命名空间' 。