头文件中的分离命名空间

3

我目前正在处理一个已存在的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 声明了什么不同的东西吗?我以前从来没有见过...

感谢您的帮助!


1
只是编码风格的问题,这位开发者想要在文件开头放置所有的前向声明,也许如果你在这个文件中有4-5个类,那么找到你需要的东西会更容易。 - Adrian Toma
1个回答

1
没有,两者在功能上没有任何区别。
显然,程序员喜欢完全分开前向声明,现在我想想,这其实有点符合风格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接