c++ - 如何在 C++ 中正确使用命名空间?

标签 c++ namespaces

我来自 Java 背景,使用包而不是 namespace 。我习惯于将一起工作以形成完整对象的类放入包中,然后稍后从该包中重用它们。但现在我正在使用 C++。

如何在 C++ 中使用命名空间?您是为整个应用程序创建一个命名空间,还是为主要组件创建命名空间?如果是这样,您如何从其他命名空间中的类创建对象?

最佳答案

命名空间本质上是包。它们可以这样使用:

namespace MyNamespace
{
  class MyClass
  {
  };
}

然后在代码中:

MyNamespace::MyClass* pClass = new MyNamespace::MyClass();

或者,如果您想始终使用特定的命名空间,您可以这样做:

using namespace MyNamespace;

MyClass* pClass = new MyClass();

编辑:遵循bernhardrusch已经说过,我倾向于根本不使用“使用命名空间 x”语法,我通常在实例化我的对象时明确指定命名空间(即我展示的第一个示例)。

正如你所问的 below ,您可以使用任意数量的命名空间。

关于c++ - 如何在 C++ 中正确使用命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590/

相关文章:

c++ - 错误 :"error LNK2019: unresolved external symbol"

c++ - CLion (C++) - 无匹配函数

namespaces - 为什么 Eclipse CDT 在关闭命名空间大括号后不添加注释?

c# - 反序列化具有不同命名空间的 xml 文件

c++ - WaitCommEvent() 是否报告已经收到的数据?

c++ - STL ref 和 cref 函数

c++ - 虚拟基类函数中派生类的大小

C++ 命名空间函数

php - 如何在网站 Bonus : across subdomains 上组织共享代码

c++ - C++命名空间名和类名重复会导致冲突吗?