可能重复:
Boost Library
通常当我尝试(并且失败)一个C ++项目时,我在浏览网页时会遇到Boost。我试过阅读Boost网站,但没有很好的简短描述为什么要使用Boost以及它到底是什么。
我非常喜欢Python的一件事是,所有内容都是内置的,跨平台的,Web请求,电子邮件,XML,JSON等。升压也是如此吗?
所以,足够的咆哮,我具体的回答问题:
答案 0 :(得分:44)
Boost究竟是什么?
Boost是一系列有用且极高质量的C ++库,可以补充相当小的标准库。
使用Boost的最重要原因是什么?
Boost提供了C ++中缺少的高质量工具。它们的用途非常多样,但Boost是否适合您,完全取决于您的需求。但我可以肯定地说,每个足够大的C ++代码库都可以从使用Boost中受益。
一些最通用的部分是shared_ptr
(一个引用计数智能指针,有助于防止指针丰富的代码中的内存泄漏),array
提供了一个非常方便的C风格包装器固定大小的数组和其他小的奇数位,已经集成到下一个C ++标准中。
它是完全跨平台的吗?
几乎总是如此。这是Boost的主要特质之一。
是否有一个链接指向一个或两个句子中描述Boost所有模块的页面?
答案 1 :(得分:10)
1)Boost是一组API,由C ++中的一些最优秀的思想家开发。你可以使用你想要的多少。每个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的一个最重要的原因是,做过这个的伟大的开发人员已经做得很好。这些解决方案经过同行评审和强大。如果你有一个问题要解决,Boost有一个适合账单的API,你可能应该使用它。
3)它就像你将要获得的跨平台一样。即,是的。
4)我会使用提升优于任何人自酿的代码。 Homebrew倾向于被单个开发人员(编码它的人)使用。 Boost在各地的商业应用中都有使用,正如我之前所说,它是经过同行评审的。你没有比这更强大。
5)主要提升页面按功能和字母顺序列出了库列表。
答案 2 :(得分:9)
Boost究竟是什么?
Boost是一个C ++库集合,可帮助您避免编写自定义代码来解决常见问题。
使用Boost的最重要原因是什么?
Boost使您无需设计,实施和测试其提供的解决方案。这样可以节省大量时间,并帮助您避免错误。
它是完全跨平台的吗?
Boost支持许多平台,有时提供解决方案以在特定平台上高效。您可以在 Compilers Tested 标题下的当前版本page底部附近看到已经过测试的平台。
它是否比常规的家庭酿造代码更安全“,您可以快速忽略该代码 缓冲区溢出等?
是的,除非您有足够的时间来测试代码。 Boost包括一个自动化测试套件,并且通过日常使用由数十万甚至数百万开发人员进行测试。它还有很多文档可以帮助您使用它包含的库进行开发。 Boost不仅比大多数自制的代码更安全,而且通常也更具性能。
是否有链接到描述Boost所有模块的页面 一两句话?
Boost Library Documentation链接页面提供了Boost中所有库的一句话摘要。
答案 3 :(得分:3)
Boost是STL中缺少的C ++类和其他东西的集合。 Boost中的许多库都包含在新的C ++标准中。由于此代码被广泛使用和同行评审,因此它肯定比您能够提供的更安全。它通常是完全跨平台的,但可能会有一些陷阱。
至于什么是提升,请查看:http://www.boost.org/doc/libs/1_45_0/?view=categorized
答案 4 :(得分:3)
BOOST是一系列库,满足了许多C ++项目的共同需求。通常,它们优先考虑BOOST实现代码的可读性或有时编译时间的正确性,可重用性,可移植性,运行时性能和空间效率。它们往往不包括完整的高级功能需求(例如应用程序框架),而是(幸运的是)提供可以更自由地组合的构建块,而无需指示或支配应用程序设计。
考虑使用BOOST的重要原因包括:
这些库在这里用一两行描述:http://www.boost.org/doc/libs/。
答案 5 :(得分:2)
维基百科上boost page的任何内容都没有回答?