【发布时间】:2014-06-18 13:08:25
【问题描述】:
我目前正在处理一个现有的 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 声明有什么不同吗?我以前从没见过这个……
感谢您的帮助!
【问题讨论】:
-
只是编码风格的问题,这个开发者希望在文件的开头有所有的前向声明,也许如果你在这个文件中有 4-5 个类,更容易找到什么您正在寻找。
标签: c++ namespaces