几个值得一用的boost库

boost是一个由很多其它库组成的集合,它跨平台,并且在各种编译器上都表现不错。更为重要的是,这些库的作者与C++标准委员会有密切的联系,说不定那一天就成为标准库的一部分,这样一来,学习它的投资成效会大很多。目前,boost已经有相当数量的库存在了,大的有像gil这种特定领域的库,小的有像array这种工具库,全部学完是需要很多时间成本的。不过,实际环境中大不不必为使用boost而使用boost。除了boost本身是个庞大的家伙外,引入外部库也会增加他人的维护成本。我根据自己的经验,整理了一些比较实用的库,可以重点学习。

  • asio 这个库是一个跨平台的网络库,封装了一些socket函数。即使不开发跨平台的网络程序,还是建议使用它。它将程序员从一些繁琐的事务中解脱出来,此外它采用的Proactor设计模式也是相当优秀的。如果你写的是小型的socket程序,用它不仅会减少工作量,而且效率也很好。
  • bind STL里提供的那些绑定函数比起它来说差远了。我个人是经常使用STL的算法库,所以对其依赖较大。
  • smart_ptr 内存自动回收是现代高级语言发展的趋势,而C++在这方面有所保留。比较典型的情况是,内存分配后在多个地方使用,却无法得知什么时候可以释放。“谁分配,谁释放”,如果边界不清晰,只有口头协商的办法,在团队开发中这并不总是有效的。推荐在后一种情况出现是使用。更多场景参考这篇文章
  • function 函数编程在很多语言里非常流行,实际开发中也确实能带来很多优点,比如可读性好,代码简洁。我们鼓励写出“优美”的代码。

另外,还有些库作为工具库也不错,比如 thread, regex等, lambda是一个很有想法的实现,缺点是语法过于晦涩。

以上是我个人在使用中觉得不错的,如果有新的会继续补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值