我如何开始使用boost

dub*_*nde 11 c++ boost

我在这里听到很多关于提升的内容,我开始认为它对我的软件开发有很大的帮助.在我的特定情况下,并发和内存管理更是如此,因为我们在这方面遇到了很多错误.

我需要进行哪些关键语言功能才能有效地从使用提升和缩短学习曲线中获益?我已经看到函数对象是常用的,所以我可能需要对此进行改进.

另外,是否有任何教程和101个资源我可以快速查看,以获得使用boost的感觉和理解.

我意识到有很多提升优惠,我必须为正确的工作选择合适的工具,但任何线索都会有所帮助.

有关

rlb*_*ond 9

Boost拥有难以想象的数量的库.容易上手的是

  • 不可复制
  • 排列
  • circular_buffer
  • 的foreach
  • 运营商(我个人最喜欢的)之一
  • smart_ptr
  • 约会时间

更高级的包括

  • 拉姆达
  • 捆绑
  • 输入输出流
  • 系列化
  • 线程

习惯提升需要时间,但我向你保证它会让你的生活更美好.此外,查看增强库的编码方式将有助于您更好地进行c ++编码,尤其是模板.

你提到在尝试加强之前你应该怎么看.我同意功能对象是一个很好的研究方法.另外,请务必查看模板编程.确保您知道的常见问题是何时将typename限定符用于依赖类型.然而,在大多数情况下,这些库都有很好的文档记录,包括示例和参考资料.


jal*_*alf 6

这里讨论学习提升.至于有用的语言功能?他们都是.如果您对C++知之甚少,C++是一种危险的语言.RAII,仿函数/函数对象和模板可能涵盖了最重要的方面.Boost的设计与STL类似,因此了解您的标准库至关重要.Boost本身使用了大量的模板元编程,但作为库用户,你不会经常需要它(除非你开始使用Boost.MPL)

与内存管理相关的错误是一个很好的指标,它是C++,而不是你需要提升的Boost.安全处理内存的技术是众所周知的,并不是特定于Boost.(除了Boost的智能指针之外).RAII可能是解决此类问题时最重要的概念.