Boost为C ++开发人员学习有多重要?

时间:2008-12-11 06:00:45

标签: c++ boost libraries

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

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

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

10 个答案:

答案 0 :(得分:36)

我认为任何认真考虑将C ++开发视为职业生涯的人都应该学习Boost,并学好它。一旦你进入认真的编程,你就会意识到这些库有多么有益,它们可以让你有多高效。它们不仅是跨平台的,而且一旦你进入大数据处理数据,数学库尤其会像上面的礼物一样。

答案 1 :(得分:13)

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

答案 2 :(得分:8)

答案 3 :(得分:6)

对于任何先决条件,您应该熟悉STL,并且模板的一些经验不会受到伤害。我总是惊讶于有多少C ++程序员实际上没有使用STL或模板。

答案 4 :(得分:4)

这一点非常重要,尤其是当Boost的许多库都进入C ++标准时 - 通过使用Boost,您可以早期了解标准的外观(shared_ptr,任何人?)。

此外,即使你不使用它们,Boost库写得非常好,而且看起来很有意思;他们做了一些非常先进的C ++。

答案 5 :(得分:4)

我觉得提升是如此提高生产力,我认为我不会接受C ++商店不使用boost的工作。

答案 6 :(得分:3)

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

我对这些宗教感到厌烦。 “我应该使用Boost吗?如果我不使用Boost,这是否意味着我不是真正的C ++程序员?其他C ++程序员会不会喜欢我?”请。任何关心使用Boost或任何其他库的C ++程序员都是一个心胸狭窄的混蛋,你应该与他无关。

相反,找一个聪明,思想开明的人,可以告诉你Boost和谁知道什么是其他图书馆在他自己的工作中帮助了他。他甚至承认有时候你不需要这些图书馆。

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

答案 7 :(得分:2)

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

答案 8 :(得分:1)

通过大量有关C ++的问题来判断(科学地:-),这些问题的答案与“Use Boost :: SomethingOrOther”一样具有最高评价的答案,我认为这非常重要。

吸引我从C到Java而不是C ++的东西是Java中提供的类的巨大数量。 Boost几乎设法说服我回去,除了我现在沉迷于Java是通用语言的Web服务。

答案 9 :(得分:1)

请记住,boost只是一组可用于提高工作效率的库(停止重新发明轮子)。

从各方面来看,它们都写得很好并且使用了你可能不会(即完全不会)自己想到的技巧。如果你的目的是通过源代码来学习高级c ++技术然后把自己搞得一团糟,但我想我会买一本好书。

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

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