所以,我一直在阅读,看起来Boost库在实践中得到了很多使用(不过在我的店里).为什么是这样?是什么让它如此美妙?
bla*_*ing 126
Boost被广泛使用,因为:
Séb*_*rra 37
从主页:
"......世界上最受尊敬和专业设计的C++库项目之一." - Herb Sutter和Andrei Alexandrescu,C++编码标准
"第55项:熟悉Boost." - Scott Meyers,Effective C++,3rd Ed.
"对大多数程序员来说,显而易见的解决方案是使用一个独立于所需服务的优雅高效平台的库.例如BOOST ..." - Bjarne Stroustrup,抽象,库和C++的效率
因此,它是一系列广泛使用和接受的库,但您为什么需要它?
如果你需要:
小智 15
一些Boost类非常有用(shared_ptr),但我认为它们对Boost中的特征和概念有点过分了.编译时间和巨大的二进制大小对于Boost来说是完全疯狂的,就像任何模板繁重的代码一样.必须保持平衡.我不确定Boost是否找到了它.
它添加了库,允许更现代的C++编程方法.
根据我的经验,许多C++程序员实际上是20世纪90年代早期的C++程序员,几乎都在编写C++类,而不是使用泛型.更现代的方法是使用泛型以更像动态语言的方式组合软件,但最终仍然可以获得类型检查/性能.看一下有点难看.但是一旦你克服了语法问题,它真的很不错.Boost为您提供了很多轻松编写内容所需的工具.智能指针,函数,lambdas,绑定等.然后有一些boost库利用这种新的编写C++的方式来提供网络,正则表达式等等...
如果您正在编写大量的for循环,或者手动滚动功能对象,或者进行内存管理,那么你肯定应该检查一下.
BOOST是一系列库,满足了许多C++项目的共同需求.通常,它们优先考虑BOOST实现代码的可读性或有时编译时间的正确性,可重用性,可移植性,运行时性能和空间效率.它们往往不包括完整的高级功能需求(例如应用程序框架),而是(幸运的是)提供可以更自由地组合的构建块,而无需指示或支配应用程序设计.
考虑使用BOOST的重要原因包括:
这些库在这里用一两行描述:http://www.boost.org/doc/libs/.