zoukankan      html  css  js  c++  java
  • effective C++ 条款 55:让自己熟悉boost

    高质量,源码开放、平台独立、编译器独立的程序库。 http://boost.org,它和c++标准委员会之间有着独一无二的密切关系,并对委员会深具影响力。它以公开进行的同僚复审(public peer review)为基础接纳程序库。

    boost对付的主题非常繁多,包括:

    字符串与文本处理

    容器

    函数对象和高级编程

    lambda,可以让我们轻松的随时随地创建函数对象

    using namespace boost::lambda;                                                    //让boost::lambda的机能曝光
    std::vector<int> v;
    std::for_each(v.begin(), v.end(), std::cout << _1*2 +10 << "\n");        //针对v中的每一元素x,印出x*2+10;
    //其中“_1”是lambda程序库针对当前元素的一个占位符号(placeholder)

    泛型编程

    模板元编程

    //list-like编译期容器,收纳三个类型:
    //(float,double, long double),
    typedef boost::mpl::list<float, double, long double> floats;
    //在创建一个编译期间用以收纳类型的list, 以“floats”内的类型为基础
    //最前面再加上“int”。新容器取名叫“types”
    typedef boost::mpl::push_front<floats, int>::Type types;

    数学和数值

    正确性测试,覆盖用来将隐式模板接口(implicit template interface,见条款41)形式化的程序库,以及针对“测试优先”编程形态而设计的措施。

    数据结构,tuple程序库

    语言间的支持,包括允许c++和python间的无缝互操作性。

    内存,覆盖pool程序库,用来作出高效率而区块大小固定的分配器,以及多变化的智能指针,包括tr1的智能指针。non-tr1智能指针scope_array,那是个auto_ptr-like智能指针,用来动态分配数组。条款44有其用法。

    杂项,包括crc检验、日期和时间处理等等

     

  • 相关阅读:
    函数的命名空间和作用域
    python 各个地方导航(方便查询,持续更新!)
    零基础学虚幻4(UE4):蓝图+VR 丁树凯教程
    UE4打包后的游戏,无法打卡其他关卡的解决办法
    【精辟】进制转换
    Git仓库的初始化
    【编程】杂碎知识点
    MFC制作带界面的DLL库
    StartImage.DLL使用说明
    MFC对话框程序:实现程序启动画面
  • 原文地址:https://www.cnblogs.com/lidan/p/2359046.html
Copyright © 2011-2022 走看看