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

标签 c++ namespaces

我来自 Java 背景,其中使用包,而不是命名空间。我习惯于将一起工作以形成一个完整对象的类放入包中,然后稍后从该包中重用它们。但现在我正在使用 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/17894262/

相关文章:

c++ - 如何将 QKeyEvent::nativeModifiers() 转换为 UINT fsModifiers(用于 winapi RegisterHotKey)

r - 我应该如何处理 "' someFunction' is not an export object from 'namespace:somePackage' "错误?

php - Phalcon:命名空间类声明错误

c++ - OpenGL 中的地形小 map ?

c++ - 插入数据后无法删除 unsigned char*

c++ - 在 C++ 20 之前的 C++ 中是否有更好的方法来定义关系运算符?

unit-testing - 类型或命名空间名称 'VisualStudio' 在命名空间 'Microsoft' 中不存在

JAVA 为 xml 的所有元素添加前缀

php - Zend 1 3d party NameSpaces 自动加载不起作用

c++ - 我怎样才能在 CUDA 中比较很多 vector (有效地)