gpt4 book ai didi

c++ - 嵌套命名空间,纠正静态库设计问题

转载 作者:行者123 更新时间:2023-11-30 02:11:42 25 4
gpt4 key购买 nike

我目前正在开发一个相当大的静态库,完成后将由一些工具使用。现在,由于这个项目比我迄今为止参与的任何项目都要大一些,我意识到是时候为项目考虑一个好的结构了。使用命名空间是这些合乎逻辑的步骤之一。

我目前的方法是将库分成多个部分(它们不是独立的,但它们的目的需要这样的分离)。我有一个“核心”部分,它现在只包含一些非常常见的类型定义和常量(由库的许多不同部分使用)。其他部分例如一些“实用程序”(哈希等)、文件 i/o 等。这些部分中的每一个都有自己的命名空间。我几乎完成了“实用程序”部分,并意识到我的方法可能不是最好的。问题(如果我们想这样调用它的话)是在“utils”命名空间中我需要来自“核心”命名空间的东西,这导致包括核心头文件和许多使用指令。

所以我开始认为这可能不是一件好事,应该以某种方式进行更改。我的第一个想法是使用嵌套命名空间来拥有类似 core::utils 的东西。由于这需要进行大量重构,所以我想先在这里问一下。你怎么认为?你会怎么处理这个?或者更笼统地说:如何根据命名空间和代码组织来正确设计静态库?如果有一些关于它的指南或文章,也请提及它们。谢谢。

注意:我很确定好的方法不止一种。请随意发表您的想法、建议等。因为我正在设计这个库,所以我希望它非常好。目标是使其尽可能干净和快速。唯一的问题是我将不得不整合大量现有代码并重构它,这确实是一个痛苦的过程(叹息)——这就是为什么好的结构如此重要)

最佳答案

我自己的方法是为每个库使用一个命名空间。我认为嵌套 namespace 不会给派对带来任何好处,除非你喜欢打字(在键盘上)。这对我来说是零问题。

关于c++ - 嵌套命名空间,纠正静态库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3022457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com