为什么 Boost 和其他库的某些部分(如 Folly)在详细信息子文件夹中
Why are some parts of Boost and other libraries (like Folly) in the detail subfolder?
将
实现的各个部分分离到单独的.h
/.cpp
文件中的原因是什么?我知道更改标头会强制重新编译,但是将实现移动到单独的.cpp
有什么好处?
Facebook通过Folly https://github.com/facebook/folly/tree/master/folly/detail 做到这一点,Boost也这样做。
detail
命名空间中的内容通常支持模板代码(因此不能放在单独的翻译单元中),但不被视为公共接口的一部分。
因此,对象和函数被放在那里是为了"不碍事",并明确表示它们是未记录的。
它们是库使用者不应关注的代码部分,因为它们可能会在新版本的库中更改。
相关文章:
- std::extent 实现详细信息说明
- VisualC++ 2010 有没有办法找出有关未处理异常错误的更多详细信息
- 如何使用软化工具包从 OPC UA 服务器异步读取操作回调中的数据值响应中获取 NodeId 详细信息
- protobuf,如何在protobuf消息中遍历所有集合字段,我不知道详细信息?(C++)
- AVX2收集指令使用详细信息
- 只知道运行时的数据类型.如何将数据详细信息隐藏到使用它们的其他类
- CppUnit:如何立即打印故障详细信息
- 我可以为 C++ 类提供不完整的标头以隐藏实现详细信息吗?
- CPP 异常获取抛出调用方的详细信息
- 内存映射 IO 概念详细信息
- 如何在文本文件中搜索员工记录(按名称)并仅显示其详细信息?
- 使用TDD时隐藏文件访问实现详细信息
- 急需有关_doserrno(MSVC)的详细信息
- 主 - Embarcadero C++生成器 10.2 中的详细信息数据集
- 如果构造函数从调用到 std::make_shared 崩溃,GDB 是否可以显示崩溃的详细信息
- 实现 std::tuple 的详细信息
- 如何使 clang 格式将所有详细信息命名空间缩进一个
- 如何从 VisualStudio 获取更多详细信息以跟踪警告的来源
- 增加网格详细信息(附加的镶嵌)
- 为什么 Boost 和其他库的某些部分(如 Folly)在详细信息子文件夹中