我认为任何想将C++开发作为职业的人都应该好好学习Boost。一旦你开始进行严谨的编程,你会意识到这些库的好处及其如何提高你的生产力。它们不仅跨平台,而且一旦你开始处理大量数据计算,尤其是数学库,就会感觉像是上天赐予的礼物。
关于先决条件,你应该熟悉STL,并且有一些模板的使用经验会更好。我总是惊讶于有多少C++程序员实际上不使用STL或模板。
语言是一种工具。如果它有助于你完成某件事情,那就使用它。
我对这些宗教感到非常厌烦。“我应该使用Boost吗?如果我不使用Boost,是否意味着我不是一个真正的C++程序员?其他C++程序员会喜欢我吗?”拜托了。任何在意你是否使用Boost或其他库的C++程序员都是思想狭隘的混蛋,你不应该和他有任何关系。
相反,去找一个聪明、开放思维的人,他可以告诉你Boost和其他库如何帮助他完成自己的工作。他甚至会承认有时候你不需要这些库。
另一种答案:重新实现Boost或STL的一部分是保持编程能力敏锐的好方法。换句话说,一个不能回退到C语言因为没有库支持的C++程序员是一个弱程序员。
这非常重要,特别是因为许多Boost库正在进入C++标准 - 使用Boost,您可以提前了解标准的外观(shared_ptr
,有人用吗?)。
此外,即使您不使用它们,Boost库编写得非常好,并且经常很有趣可看; 它们实现了一些真正先进的C ++。
我觉得boost是一种提高生产力的工具,如果一个C++公司不使用boost,我不认为我会接受他们的工作邀请。
从 SO 上大量关于 C++ 的问题及其顶级答案 "使用 Boost::SomethingOrOther" 来看,我认为它非常重要(科学地 :-))。
吸引我从 C 转向 Java 而不是 C++ 的原因是 Java 中提供的大量类。Boost 几乎让我想回去,但现在我深陷于 Web 服务中,而 Java 是通用语言。