【发布时间】:2017-05-12 17:09:46
【问题描述】:
编写 C++ 代码的典型方式是将其分隔在头文件和(非头)源文件中。
我看到了很多只有头文件的现代 C++ 库(例如一些 Boost 库)。通常这些库会大量使用模板。
他们不是将文件分成头文件和源文件,而是将文件分成头声明和头实现。
所以我的问题是:
这只是使用源文件的老式方式吗?
什么时候使用源文件才有意义?
创建仅标头库的优缺点是什么?
【问题讨论】:
-
令人怀疑的是,任何人都喜欢等待编译器一遍又一遍地编译相同的源代码。但是,如果不能以任何其他方式完成,那就是它所需要的。
标签: c++ templates boost c++17 header-only