zoukankan      html  css  js  c++  java
  • 泛型编程是元编程的一种----模板元编程----根据模版(在编译时)生成代码

    泛型编程 = 代码模版 + 类型规则。

    一、模版与代码生成

    泛型的缺点:

    可执行文件会变大。在存储空间有限时,必须要重视。《Effecitve C++》中专门提到:不要在模板中使用不必要的参数,因为每一个不同的参数编辑器都会为之生成一套相应的代码。泛型产生冗余代码是无法避免的。

    模板元编程的优点:

    运行效率提升。因为模板的运算以及展开都是在编译期,会花相对较长的编译时间,但能够获得更有效率的运行码。

    代码量变小。模板元编程允许程序员专注在架构上并委托编译器产生任何客户要求的实现。因此,模板元编程可达成真正的泛用代码,促使代码缩小并较号维护。

    二、泛型抽象与效率

    1、开发效率

    代码重用。泛型定义一次,就可以用许多不同的类型实例化。

    2、编译效率

    不要在模板中使用不必要的参数,因为每一个不同的参数编辑器都会为之生成一套相应的代码。泛型产生冗余代码是无法避免的。

    运行效率提升。因为模板的运算以及展开都是在编译期,会花相对较长的编译时间,但能够获得更有效率的运行码。

    三、类型安全

    有类型推导(运算)规则,和编译器确保了类型安全。

    ————————————————

    版权声明:本文为CSDN博主「lusanshui」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/lusanshui/article/details/100139833

  • 相关阅读:
    Scilab5.5.2 在Centos5.11下binary安装(注:不是源码编译安装)
    《DSP using MATLAB》Problem 9.5
    Java 出现警告 不能读取AppletViewer的属性文件
    《DSP using MATLAB》Problem 9.4
    《DSP using MATLAB》Problem 9.2
    《DSP using MATLAB》Problem 8.46
    《DSP using MATLAB》Problem 8.45
    风力摆?这是不是太简单了点
    树莓派:基于物联网做的指纹打卡器
    Python之面向对象(一)
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11847543.html
Copyright © 2011-2022 走看看