• More Effective C++ 条款23 考虑使用其他程序库


    1. "理想的程序库应该小,快速,威力强大,富有弹性,有扩展性,直观,可广泛运用,有良好支持,使用时没有束缚,而且没有'臭虫'".但实际上这种程序库是不可能实现的:要针对速度和大小做优化,往往要牺牲移植性;要有丰富的机能,结果可能不够直观......一个程序库往往要权衡各方面得失,采取折中的方法来实现.

    2. 不同的程序库侧重点可能不一样,即使两个程序库机能类似,也可能有不同的性能表现.

        考虑iostream和stdio程序库,stdio提供的I/O操作速度通常比iostream快,可执行文件也比iostream小,但iostream却提供了更好的扩展性和类型安全性(stdio的scanf和printf坑点比较多).具体使用那种库由需求决定,如果程序对I/O效率要求较高,那么stdio是最佳选择,否则,iostream的健壮性和可扩展性可能成为选择它的理由.(关于stdio和iostream的讨论,可见:http://www.zhihu.com/question/24076731?utm_campaign=rss&utm_medium=rss&utm_source=rss&utm_content=title)

        正如程序如果有I/O瓶颈,可以考虑以stdio替代iostream一样,如果程序花费较多时间在动态内存分配和释放上面,也可以考虑其他提供了operator new和operator delete的产品.由于不同程序库在效率,扩充性,可移植性,类型安全性等方面有不同侧重,因而可根据需求选择最适合的程序库.

        关于C++比较著名的程序库的介绍,可见:http://www.cnblogs.com/shenlian/archive/2011/08/25/2153826.html

  • 相关阅读:
    Activity的启动模式
    Activity的生命周期
    C之静态内存和动态内存
    C之指针的加法
    C之函数返回一个以上的值
    C之交换数据案例
    C之自定义类型
    C之枚举
    联合体
    C之结构体
  • 原文地址:https://www.cnblogs.com/reasno/p/4839632.html
Copyright © 2020-2023  润新知