zoukankan      html  css  js  c++  java
  • binding(联编)

    联编(Binding): 确定具有多态性的语句调用哪个函数的过程。

    Static Binding (静态联编) : 在程序编译时确定调用哪个函数 例:函数重载,模版多态(类型参数匹配)

    Dynamic Binding (动态联编) :在程序运行时,才能够确定调用哪个函数

                                               用动态联编实现的多态,也称为运行时的多态

    基类定义了虚同名函数,那么派生类中的同名函数自动变为虚函数(所以可以不加virtual关键字)

    动态联编的开销比静态联编大;

    Summary: static binding v.s. dynamic binding

    基类与派生类中有同名函数

    1. 通过派生类对象访问同名函数 -> 静态联编

    2. 通过基类对象的指针访问同名函数(非虚函数) -> 静态联编

    3. 通过基类对象的指针访问同名虚函数 -> 动态联编

    其实,按我自己的理解,根本不需要分那么多的类别。在老师总结的情况当中,只有一种情况是动态联编:

    那就是 1.存在override(请见之前的随笔)

              2.基类的指针指向派生类对象/基类是派生类引用

              3.‘2.’中的指针或引用调用‘1.’中的同名虚函数函数。

    其他都是静态联编

  • 相关阅读:
    一个小笔记(5):A*算法
    一个小笔记(4):递归下降分析法
    1.3 初步了解信号和槽
    一个小笔记(3):约瑟夫环
    1.2 第一个程序
    requestAnimationFrame
    javascript reg 不加入分组
    正则表达式匹配除单词外的任何字符
    自動化ツール(コード生成、パターン抽出)
    windows常用DLL及作用
  • 原文地址:https://www.cnblogs.com/skx971016/p/6973938.html
Copyright © 2011-2022 走看看