问题描述
我经常在这里看到关于
或
我想知道,这是怎么回事?我应该厌倦什么?什么时候我不能使用boost?不使用boost的原因是什么?在我看来,提升是对STL的极大扩展.有时非常笨重和笨拙,但仍然很棒.
And I wonder, what's that all about? What should I be weary of? When can't I use boost? What are the reasons not to use boost? In my opinion boost is a great extension to STL; sometimes very heavyweight and clumsy, but great nevertheless.
我并不是真的在征求有关提升的意见.我宁愿寻找一些具体的例子,在使用boost时应该三思而后行.
I am not really asking for opinions about boost as such. I am rather looking for some concrete examples when should I think twice before using boost.
推荐答案
Boost并不是图书馆,而是各个独立质量的很大程度上独立的图书馆的集合.考虑到这一点,并考虑到我个人是大多数Boost的忠实拥护者,以下是我不使用某些Boost库的一些原因:
Boost is not a library but a collection of largely independent libraries of individual quality. With this in mind, and also taking into account that I'm personally a big fan of most of Boost, here are some reasons I can think of for not using certain Boost libraries:
- 自C ++ 11起,某些Boost库是多余的.
- 某些图书馆并未得到广泛使用,因此需要您项目中的专业知识,而当员工离开公司时,更换这些图书馆可能会很昂贵.
- 开发人员出于政治目的而不是出于技术原因而必须遵守的公司准则.
- 您不能保证将来会继续维护任何Boost库.出于简单的商业原因,从现在起10年后,今天为某些编译器编写的标准C ++代码很可能仍可以与同一供应商的较新编译器一起正常工作.借助Boost,您必须希望有足够的能干人员对长期维护产生任何兴趣.
- 没有一个Boost库被广泛地记录下来,与C ++标准库一样,在无数书籍和互联网上都有如此大量的资料.如果您在特定图书馆中遇到一些真正的异国问题,谁会支持您?当然,使用标准C ++,找到存在相同问题的人(以及该问题的现有解决方案)的机会就会大大提高.
- 调试一些Boost代码比调试使用标准库的代码更困难.
这篇关于为什么人们似乎暗示我宁愿不使用Boost?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!