25

我很想学习Boost。但我想问:

  • 努力学习 Boost 有多重要?
  • 在加入 Boost 之前应该具备哪些先决条件?

为什么我很想知道 Boost 是因为很多人在 IRC 的频道和 StackOverflow 上都在谈论 Boost。

4

10 回答 10

40

我认为任何认真考虑将 C++ 开发作为职业的人都应该学习 Boost,并且学好它。一旦你开始认真的编程,你就会意识到这些库有多大的好处,以及它们可以让你提高多少工作效率。它们不仅是跨平台的,而且一旦你开始处理大量数据,数学库尤其会像是上天赐予的礼物。

于 2008-12-11T06:35:21.090 回答
14

作为一名游戏开发者,我对有多少人不了解 Boost 感到震惊。我已经向各个游戏工作室的联系人提到过它,不仅它经常不使用(许可或移植它是一个问题吗?)而且很多人甚至没有听说过它。这让我相信,从职业的角度来看,学习 Boost 实际上并不重要,但从个人发展的角度来看,它绝对是至关重要的。:)

于 2008-12-11T07:54:06.440 回答
8

之前讨论过:使用 c++ boost 库有什么好处

于 2008-12-11T06:14:30.337 回答
6

至于任何先决条件,您应该熟悉 STL,并且有一些模板经验不会有什么坏处。我总是对有多少 C++ 程序员实际上既不使用 STL 也不使用模板感到惊讶。

于 2008-12-11T09:18:20.357 回答
4

这非常重要,尤其是当许多来自 Boost 的库正在进入 C++ 标准时——通过使用 Boost,您可以及早了解标准的外观(shared_ptr有人知道吗?)。

此外,即使您不使用它们,Boost 库也写得非常好,而且通常看起来很有趣;他们做了一些非常高级的 C++。

于 2008-12-11T08:30:55.723 回答
4

我觉得 boost 是一种生产力增强剂,我认为我不会接受在不使用 boost 的 C++ 商店的工作。

于 2008-12-12T01:02:58.110 回答
4

语言是一种工具。如果它可以帮助您完成某事,请使用它。

我厌倦了这些宗教。“我应该使用 Boost 吗?如果我不使用 Boost,那是否意味着我不是真正的 C++ 程序员?其他 C++ 程序员会喜欢我吗?” 请。任何关心你是否使用 Boost 或任何其他库的C++ 程序员都是思想封闭的混蛋,你应该与他无关。

相反,去找一个聪明、思想开放的人,他可以告诉你 Boost 和 who-knows-what-other 库如何帮助他完成自己的工作。他甚至会承认有时你不需要那些库。

替代答案:自己重新实现部分 Boost 或 STL 是保持编程能力敏锐的好方法。换句话说,一个因为没有库而不能回退到 C 的 C++ 程序员是一个弱程序员。

于 2010-06-03T05:09:04.780 回答
2

Boost 拥有丰富的库,您可以免费获得它。了解 boost 中可用的所有库,以便在需要时可以使用。关于学习,请选择包含在 c++0X 中的库,以便你可以使用它,很快编译器就会支持。关于特定的库,当你需要的时候学习它。

于 2008-12-11T06:13:30.057 回答
1

从关于 C++ 的大量关于 SO 的问题(从科学上 :-) 来看,这些问题在“使用 Boost::SomethingOrOther”方面具有最高评价的答案,我会说这非常重要。

吸引我从 C 到 Java 而不是 C++ 的原因是 Java 中提供的大量类。Boost 几乎设法说服我回去,除了我现在深陷在以 Java 为通用语的 Web 服务中。

于 2008-12-11T06:43:37.470 回答
1

请记住,boost 只是一组可用于提高生产力的库(停止重新发明轮子)。

众所周知,它们写得很好,并且使用了您可能不会(即绝对不会)自己想到的技术。如果您的目的是查看源代码以学习高级 C++ 技术,那么您将自己淘汰,但我想我会买一本好书。

另一方面,如果您只想使用一些库函数来提高工作效率,请考虑您的选择。你在开发什么,你需要什么样的库?

我们公司有广泛使用 boost 的跨平台产品,但我们也有使用一些 boost 但在大多数情况下依赖于 Microsoft 库的仅限 Windows 的产品。MS 库质量很好,并且有(imo)优秀的文档(MS 成功的一部分在于使 Windows 尽可能易于为第三方开发人员编程)。我特别提到了 MS,因为它们提供了广泛的库,用于提升等多种用途。我们还使用了许多其他更专注的第 3 方库(即在某个领域提供功能的库,例如密码学)。

于 2008-12-11T15:28:34.930 回答