编写C ++代码的典型方法是将其分隔在头文件和(非标头)源文件中。
我看到很多现代C ++库只是标题库(例如一些Boost库)。通常,这些库会大量使用模板。
不是将文件分成头文件和源文件,而是将文件分隔为头部声明和头部实现。
所以我的问题是:
这只是使用源文件的旧方式吗?
什么时候使用源文件才有意义?
创建仅限标题库的优缺点是什么?
答案 0 :(得分:3)
他们这样做是因为templates cannot be defined in a source file without making life difficult。这也意味着您不必担心链接任何事情(因此,方便)。那就是它。
通常,我们使用标头/源模型来促进可重用性,部分重建和更好的代码组织。