zoukankan      html  css  js  c++  java
  • boost库的使用

    我的经验:
    在强调运行效率的场合:
    shared_ptr/weak_ptr很好用,尤其是weak_ptr这个能够判断一个对象的生命周期的玩意,可以简化和扩展很多设计。
    unordered系列的容器也很不错。
    thread+function+bind是异步编程的利器。
    signal:这个因为个人比较喜事件驱动这种模型,没用过,不太清楚,但这种回调机制貌似使用场景也很广。
    python:结合python很方便,适合快速开发的场合。

    在强调开发效率的场合:
    正则表达式,这个不用说了,字符串处理的利器。
    状态机,可以用很少的代码写出很规范的状态机,还是层次性的。很不错,我很早以前受这个库的启发实现过一个类似的状态机库,用来解析通信协议的,写的代码比别人少,运行效率居然还比其他人写的手工解析的高。
    Program Options: 解析程序参数和配置文件什么的,很方便。

    一些我个人感觉不是很好的库:
    asio,我认为有过度设计之嫌,一般的应用场景很好用,但很难扩展。比如我曾经想在这个库的基础上弄个解析链路层协议的玩意出来,结果代码死活没看懂。当然也可能是我水平太差了。
    spirit,炫耀技术的玩具,可以直接用c++直接写BNF,但生成的程序体积巨大,速度巨慢。意义在于展现模板元编程能带来多强大的表达能力,但其他方面意义真心不大。
    lambda,和上面差不多,这玩意在c++11以后完全不需要了。
  • 相关阅读:
    深度学习分类网络的发展历史
    杨辉三角
    【了解】贝塞尔曲线
    win10桌面点击事件蓝色边框处理
    try{}catch的隐藏(如何优雅的实现异常块)
    switch的一些思考(seitch与ifelse的区别)
    好看的控制台日志线
    Serializable和Externalizabl的异同
    java排序方式对比
    如何初始化Map,java
  • 原文地址:https://www.cnblogs.com/darknoll/p/4660407.html
Copyright © 2011-2022 走看看