为什么在命名空间中使用 类

why to use classes inside namespace

我想知道在命名空间中写入 class 名称的真正原因。他们解决什么目的?它们包括 classes 还是做其他事情?非常感谢任何帮助。

namespace ns3 { 
class Channel;
class SpectrumChannel;
class MyMod;                        ;

class NewModule : public NetDevice
{   
public:
// methods and data
}

将您的 classes 放入命名空间是一种很好的做法,以避免与您可能使用的其他代码(库)发生名称冲突(也将在项目的后期出现)。当使用 VectorLogger 等常用名称作为 class 名称时,很容易发生它们也用在您要使用的其他代码中的情况。当您将 classes 放入(经过深思熟虑的)名称空间时,名称冲突的可能性就会降到最低。

前向声明是一个不同的(独立的)主题。当 classes 在命名空间中定义时,它们的前向声明也必须在该命名空间中完成。