zoukankan      html  css  js  c++  java
  • 泛型沉思录:创建模版与使用模版生成代码

    模版--》实现

    泛型不会降低编译后的代码量。

    所有实现都是编译器根据模版生成代码;

    创建模版-〉复制(创建)类型-》使用类型。

    一、泛型与语言

    1、泛型只是语言(复用)层面的概念;

    2、机器码和汇编没有泛型的概念;

    3、语言处理过程(编译和解释)中,泛型会解释为具体的类型(数据类型和函数类型)。一个泛型经过编译器或解释器后,在可执行文件和运行时会存在多个具化副本。

    二、泛型与具化

    1、显式具化;

    2、类型推导具化(根据函数参量、返回值具化)。

    3、所有的具化方式在逻辑上都基于显式具化。

    三、类型推导

    1、基于泛型实现的类型推导

    调用形式,推导出泛型的显式具化方式,进而由编译器推导编译为具体的实现方式。

    2、基于泛型接口的推导

    这种推导方式在函数时编程中常用。

    高阶函数定义了实现函数的接口,实现函数根据需求具体定制。

    其推导链条由如下方式:

    高阶(泛型)函数—(参量)—>

    高阶函数—(调用)—>

    组件函数—(根据上下文)—>

    推导参量类型—>

    (实现)—根据参量类型实现具体功能

    程序语言设计的过程中,Go 明显遇到了这样一个问题,是想要让程序员干活变慢,还是让编译器变慢,还是要运行速度变慢,或者更大的编译后的二进制文件。

    https://www.zhihu.com/question/62991191

  • 相关阅读:
    Element 更新以及全局设置属性
    第二次作业
    软件工程---自我介绍
    git lfs
    SUID
    G1 log 解析
    CMS jvm flags详解
    java不安全证书报证书路径找不到问题
    记一次CMS unloading class 耗时长调查
    springboot jsp 在Linux中报404问题
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11837101.html
Copyright © 2011-2022 走看看