【问题标题】:When should I use (non-header) source files in modern C++?我什么时候应该在现代 C++ 中使用(非头文件)源文件?
【发布时间】:2017-05-12 17:09:46
【问题描述】:

编写 C++ 代码的典型方式是将其分隔在头文件和(非头)源文件中。

我看到了很多只有头文件的现代 C++ 库(例如一些 Boost 库)。通常这些库会大量使用模板。

他们不是将文件分成头文件和源文件,而是将文件分成头声明和头实现。

所以我的问题是:

  • 这只是使用源文件的老式方式吗?

  • 什么时候使用源文件才有意义?

  • 创建仅标头库的优缺点是什么?

【问题讨论】:

标签: c++ templates boost c++17 header-only


【解决方案1】:

他们这样做是因为templates cannot be defined in a source file without making life difficult。这也意味着您无需担心链接任何内容(因此,方便)。就是这样。

一般来说,我们使用标头/源代码模型来提高可重用性、部分重建和更好的代码组织。

【讨论】:

  • 故意只简短地回答这个问题。 Tbh 我几乎认为 VTC 太宽泛了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 2021-09-11
  • 2011-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多