为什么Boost.ProgramOptions不是仅限标题?

时间:2017-03-15 13:49:39

标签: c++ boost boost-program-options header-only

有些提升库只是标题库,有些则不是,并且由于各种原因等等。

是否有特定原因/设计决定为什么Boost.ProgramOptions不是标头?

我想知道因为它声称自己是一个小小的"文档中的库,我没有看到任何与系统相关的原因(如线程或asio)。

2 个答案:

答案 0 :(得分:1)

程序选项声称很小,但它是我们在Regex之后构建的第二大图书馆。 (它比boost文件系统和线程库更大。)我相信你应该很高兴他们为它构建一个库,而不是用大量的标题来阻塞你的项目。也许作者认为当他开始时会很小,并且在评论继续增长和添加功能时忘记更改评论。

答案 1 :(得分:-1)

由于违反了一个定义规则,并非所有C ++代码都只能写入标题。

例如,类的static成员的存储预留需要只有一个翻译单元(尽管未来的C ++标准可能会避免这种情况)。

最初的目的是让Boost成为头球,但是他们不得不迅速放弃这个愿望。