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

时间:2015-01-25 10:12:38

标签: c++ class namespaces

我想知道在命名空间内编写类名的实际原因。他们解决了什么目的?他们是包括课程还是做其他事情?非常感谢任何帮助。

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

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

1 个答案:

答案 0 :(得分:2)

最好将您的类放入命名空间,以避免与您可能使用的其他代码(库)发生名称冲突(也会在以后的项目中出现)。当使用诸如VectorLogger等常用名称作为类名时,很容易发生它们也在您想要使用的其他代码中使用。当您将类放入(考虑周全的)命名空间时,这种名称冲突的可能性最小化。

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