编写 C++ 代码的典型方法是将其分隔在头文件和(非头)源文件中。
我看到了很多只有头文件的现代 C++ 库(例如一些 Boost 库)。通常,这些库会大量使用模板。
他们没有将文件分离为头文件和源文件,而是将文件分离为头文件声明和头文件实现。
所以我的问题是:
它只是使用源文件的老式方式吗?
什么时候使用源文件才有意义?
创建仅标头库的优缺点是什么?
编写 C++ 代码的典型方法是将其分隔在头文件和(非头)源文件中。
我看到了很多只有头文件的现代 C++ 库(例如一些 Boost 库)。通常,这些库会大量使用模板。
他们没有将文件分离为头文件和源文件,而是将文件分离为头文件声明和头文件实现。
所以我的问题是:
它只是使用源文件的老式方式吗?
什么时候使用源文件才有意义?
创建仅标头库的优缺点是什么?
他们这样做是因为模板不能在源文件中定义而不会使生活变得困难。这也意味着您无需担心链接任何内容(因此,方便)。而已。
通常,我们使用标头/源代码模型来促进可重用性、部分重建和更好的代码组织。