我是否可以在类似于 C# 的 C++ 中创建全局命名空间层次结构,以帮助开发人员使用我们的代码?



可以在C 中创建类似于C#的工作方式的名称空间层次结构。例如,如果我需要一种类型来处理C#中的颜色,我可以通过使用:

来浏览名称空间以获取适当的类型
System.drawing.color;

类型。在这种情况下,看来命名空间在项目级别上解析,并由类型包含的命名空间确定。对于此代码针对的开发人员,他们将所有这些都放在自动完成中,并且不会通过文件夹和文件搜索该类型。在C 中,我可能必须首先包含适当的标头文件,这时我觉得我们已经遇到了适当类型的源代码的麻烦,并查找哪个文件包含这些类型。在C 中看起来像:

#include "Core/Color.h"
Color c = new Color();

IDE在这里几乎没有帮助。我必须进行目录搜索正确的类型。目录范式似乎会崩溃,除非每个人都专门使用正确的文件名和目录结构,但情况并非总是如此。

要解决此问题,看来我不仅要为我所有类型的名称空间层次结构提出,这不是一个大问题,而且我还必须提出一个标题层次结构消除不断格式代码以找到包含这些类型的正确文件的问题。

主标头层次结构是否给编译器,预处理器或由此产生的编译代码提出了一个问题,因为我们本质上将其他每个标头都提高了链条(最多要延长到新文件中)?

最终,我希望通过提供IDE来帮助使用此代码的开发人员来帮助所有类型的开发人员,而无需进行我们目前必须做的所有奖励。可能有一种方法可以在IDE中快速执行此操作,这时我无需使用语言本身来解决此类发展问题,但是我似乎找不到它。

请参阅以下讨论以及如何由SO用户处理的讨论C 名称空间建议http://www.adamjamesnaylor.com/2012/10/23/nestednamespacesinc.aspx

最新更新