• 《Effective C++》知识点(9)--杂项讨论


    53. 不要忽视编译器的警告

        53.1 严肃对待编译器发出的警告信息。努力在你的编译器的最高警告级别下争取"无任何警告"。

                在忽略某个警告之前,请确保你了解它意图说出的精确意义。

        53.2 不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同。一旦移植

                到另一个编译器上,你原本依赖的警告信息有可能消失。

    54. 让自己熟悉包括TR1在内的标准程序库

        54.1 C++98标准库

    成分包含
    STL容器、迭代器、算法、函数对象、容器适配器、函数对象适配器
    Iostreams用户自定缓冲功能、国际化I/O,以及cin,cout,cerr,clog
    国际化支持包括多区域能力,如wchar_t、wstring
    数值处理复数模板、纯数值数组
    异常层次体系exception.logic_error,runtime_error
    C89标准程序库1989 C 标准库

       54.2 TR1(Technical Report 1)组件

    组件描述
    智能指针shared_ptr,weak_ptr
    tr1::function

    是个template,以其目标函数的签名(指明参数和返回值类型)为参数。如

    std::tr1::function func

    tr1::bind是第二代绑定工具,比第一代bind1st,bind2nd好用
    其它独立的Hash tables实现sets,multisets,maps,multimaps
    正则表达式字符串查找和替换
    Tuples可持有任意个数的对象,而pari只有两个对象
    tr1::array支持begin,end的数组,它的大小固定
    tr1::mem_fn成员函数指针,扩充了mem_fun,mem_fun_ref的能力
    tr1::reference_wrapper让引用的行为更像对象
    随机数生成工具超越了rand
    数学特殊函数Laguerre多项式、Bessel函数、完全椭圆积分等
    C99兼容扩充一堆函数和模板带进C++
    templateType traits一组traits classes
    tr1::result_of一个template,用来推导函数调用的返回类型

         54.3 TR1自身只是一份规范,为获得TR1提供的好处,你需要取得实现代码。Boost程序库包含

                 了其中10个组件。

    55. 让自己熟悉Boost

         55.1 Boost开发者社区  Boost C++ Libraries

         55.2 Boost组件

    类别包含
    字符串与文本处理类型安全的printf-like格式化动作、正则表达式及语汇单元切割和解析
    容器array、大小可变的bitsets以及多维数组
    函数对象和高级编程如lambda可以随时随地创建函数对象
    泛型编程traits classes
    模板元编程TMP,MPL(元编程程序库)
    数学和数值有理数、八元数和四元数、常见公约数等
    正确性与测试用来将隐式模板接口形式化的程序库
    数据结构类型安全的unions以及tuple程序库
    语言间的支持允许C++和Python之间的无缝互操作性
    内存Pool程序库,用来做出高效率而区块大小固定的分配器以及多变化的智能指针
    杂项CRC检验、日期和时间的处理、在文件系统上来回移动等待

    全书完

  • 相关阅读:
    如何为WPF应用程序制作一个虚拟键盘?这里有答案(Part 1)
    SpringBoot 整合【MybatisPlus、Shiro】实现权限认证信息
    DocuWare平台——用于文档管理的内容服务和工作流自动化的平台(上)
    设备可靠性的关键:策略与设备维护管理软件的选择
    C++11实现的数据库连接池
    2022年华中杯数学建模挑战赛C题矿井提升机钢丝绳的缺陷分析求解全过程文档及程序
    Sleep(0)、Sleep(1)、SwitchToThread()
    中国企业出海金字塔:产品出海、渠道出海和品牌出海
    内核进程初始化和创建
    Elasticsearch搜索匹配功能解析(十一)
  • 原文地址:https://blog.csdn.net/myepicure/article/details/134369695