使用boost C ++库?

可能重复:
提升图书馆

当我尝试(和失败)一个C ++项目时,我浏览网页时遇到了Boost。 我尝试阅读Boost网站,但是没有很好的简短描述为什么要使用Boost,究竟是什么。

我对Python非常喜欢的一件事是,一切都是内置的,跨平台的,Web请求,电子邮件,XML,JSON等等。Boost也是这样吗?

所以,足够的咆哮,我具体的回答问题:

  • 什么是提升?
  • 什么是使用Boost最重要的原因?
  • 它是完全跨平台的吗?
  • 是否更“安全”,然后定期自制代码,你很快忽略了一个缓冲区溢出等?
  • 是否有任何链接到一个页面描述所有的提升一个或两个句子的模块

什么是提升?

Boost是C ++的有用和非常高质量的库的集合,它补充了相当小的标准库。

什么是使用Boost最重要的原因?

Boost提供了C ++中缺less的高质量工具。 他们的使用是非常多样化的,不pipeBoost是否适合你,完全取决于你的需求。 但我可以放心地说, 每个足够大的C ++代码库都可以从使用Boost中受益。

一些最通用的部分是shared_ptr (一个引用计数智能指针,有助于防止指针丰富的代码中的内存泄漏), array提供了一个非常方便的固定大小的C型arrays和其他小奇数位已被整合到下一个C ++标准中。

它是完全跨平台的吗?

几乎总是是的。 这是Boost的主要特质之一。

是否有任何链接到一个页面描述所有的提升一个或两个句子的模块?

确实有。

什么是提升?

Boost是C ++库的集合,帮助您避免编写自定义代码来解决常见问题。

使用Boost最重要的原因是什么?

升压节省您从devise,实施和testing它提供的解决scheme。 这为您节省了大量的时间,并帮助您避免一路上的错误。

它是完全跨平台的吗?

Boost支持多种平台,有时在特定平台上提供餐饮解决scheme以提高效率。 您可以在“ 编译器已testing”标题下的当前版本页面底部附近看到已经过testing的平台。

是否更“安全”,然后定期自制代码,你很快忽略了一个缓冲区溢出等?

是的,除非你有很多时间来testing你的代码。 Boost包含了一个自动化的testing套件,经过日常使用,成千上万的开发人员经过了数十万次的testing。 它还有很多文档可以帮助您使用它包含的库​​进行开发。 Boost不仅比大多数家庭酿造代码更安全,而且一般来说性能更高。

是否有任何链接到一个页面描述所有的提升一个或两个句子的模块?

Boost 库文档链接页面提供了Boost中所有库的一个句子摘要。

1)Boost是由C ++中一些最好的开发人员开发的一套API。 你可以使用尽可能多或less一点你想要的。 每个API的目标,并解决一个特定的范例。 例如:

 lexical_cast<> - Type-safe ways of casting from one type to another. program_options - Library for parsing command lines in a type-safe manner asio - Asynchronous Input/Output. Great for working with sockets, IP4/IP6 shared_ptr - Reference-counted smart pointer 

… 还有很多。

2)使用Boost的最重要的原因之一是已经完成这个工作的伟大的开发人员已经做得很好。 这些解决scheme经过同行评审和强大。 如果你有问题要解决,Boost有一个适合这个账单的API,那么你应该使用它。

3)就像你将要获得的跨平台一样。 即,是的。

4)我会用任何人的自制代码来提升。 自制软件往往被单个开发者(编码它的人)使用。 Boost被广泛用于商业应用,正如我之前所说的那样,它是经过同行评审的。 你没有比这更强大。

5)主boost页面按function和按字母顺序列出了一个库。

Boost是STL中缺less的C ++类和其他东西的集合。 Boost中的很多库被包含在新的C ++标准中。 由于这个代码被广泛使用和同行评审,它肯定比你能够想到的要安全得多。 它通常是完整的跨平台,但可能有一些陷阱。

至于什么是提升,看看这个: http : //www.boost.org/doc/libs/1_45_0/?view =分类

BOOST是许多C ++项目共同需要的库的集合。 一般来说,他们的优先级是正确性,可重用性,可移植性,运行时性能,空间效率优于BOOST实现代码的可读性,有时甚至是编译时间。 它们倾向于不覆盖完整的高级function需求(例如应用程序框架),相反(幸好)提供的构build块可以更自由地组合,而不需要指定或主导应用程序devise。

考虑使用BOOST的重要原因包括:

  • 大多数的图书馆都经过了相当好的testing和devise:与一些优秀的程序员相比,他们通常能得到相当完善的评价,而在同样的问题空间中,与自制解决scheme的人相比,它们广泛用于收集广泛的真实世界的反馈
  • 它已经写好了,你的解决scheme可能不是
  • 这是相当便携式(但每个库有所不同)
  • C ++社区中的更多人将会帮助您处理代码
  • BOOST通常是引入C ++标准的一个试验场,所以在重写你的代码时要做的更less,以适应未来的标准sans BOOST
  • 由于社区需求,编译器供应商更可能testingBOOST使用的正确性问题并作出反应

这些库在这里一行或两行描述: http : //www.boost.org/doc/libs/ 。

任何提高维基百科页面不能回答?