我目前正在处理一个已存在的c++项目。
在代码分析期间,我发现头文件中包含了命名空间定义,分为两个部分(参见c1.h)。第一部分包含前向声明,第二部分包含类声明。
c1.h
namespace a { namespace b {
class c2;
class c3;
}}
namespace a { namespace b {
class c1
{
public:
//...
private:
//...
};
}}
c1_foo.h
namespace a { namespace b {
class c2;
class c3;
class c1_foo
{
public:
//...
private:
//...
};
}}
我的问题:
将这个分成两个逻辑部分有什么原因吗? c1_foo.h 声明了什么不同的东西吗?我以前从来没有见过...
感谢您的帮助!