我来自使用包的Java背景,而不是名称空间。我习惯于将一起工作的类放在一起形成一个完整的对象,然后再从该包中重用它们。但现在我正在使用C ++。
你如何在C ++中使用命名空间?你是为整个应用程序创建单个名称空间,还是为主要组件创建名称空间?如果是这样,你如何从其他命名空间中的类创建对象?
发布于 2018-07-02 09:04:38
此外,请注意,你可以添加到命名空间。举个例子,我的意思是,你可以:
namespace MyNamespace
{
double square(double x) { return x * x; }
}
在文件中square.h
,和
namespace MyNamespace
{
double cube(double x) { return x * x * x; }
}
在文件中cube.h
。MyNamespace
(也就是说,你可以跨多个文件定义一个名称空间)。
发布于 2018-07-02 10:27:13
命名空间本质上就是包。它们可以像这样使用:
namespace MyNamespace
{
class MyClass
{
};
}
然后在代码中:
MyNamespace::MyClass* pClass = new MyNamespace::MyClass();
或者,如果要始终使用特定命名空间,则可以执行以下操作:
using namespace MyNamespace;
MyClass* pClass = new MyClass();
https://stackoverflow.com/questions/-100000370
复制相似问题