联编与多态(编译时多态和运行时多态)

本文介绍了C++中的联编(绑定)概念,包括静态联编(编译时多态)和动态联编(运行时多态)。静态联编在编译时确定函数实现,常用于非虚函数、重载函数等。编译时多态通过函数重载实现,而运行时多态依赖于继承和虚函数,提供更灵活的程序设计和面向对象特性,虽然牺牲了一些执行效率。
摘要由CSDN通过智能技术生成

联编

在函数调用时,系统必须知道函数调用实际对应的函数实现(函数体)的地址,并把调用跟函数入口地址关联起来。这个过程称为联编,也叫作绑定(binding)。

在编译的时候就能够确定函数的入口地址,这种联编方式叫做静态联编。由于这个过程是在编译时完成的,早于程序的执行,所以又叫做早期绑定/早期联编。我们最初使用(非虚函数)的无论是普通的全局函数,还是作为类成员的成员函数,或是运算符虫子啊函数或者其他重载函数等,都能够在编译时确定其入口地址,采用的是静态联编方式。


编译时多态(静态多态)

联编对于实现多态至关重要。多态实际上就是一个函数调用对应不同的函数体实现。重载的多个函数具有相同的函数名,但是拥有不同的形参列表。这样在函数调用时,编译器能够根据传给函数的实际参数来跟重在函数进行匹配,根据一定的规则找到最佳的匹配函数版本后再调用。这样一个函数名实际对应

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值