c++之默认函数

2020-02-26  本文已影响0人  全村的卡密

C+ +允许函数设置默认参数,在调用时可以根据情况省略实参。规则如下:

void display(int a, int b =10){
}
void display(int a){
}
//二义性,不知道调用哪个
display(19);

利用汇编理解重载实现:
对于
sum(int a,int b)无默认参数函数,其汇编码如下:


image.png

对于
sum(int a,int b = 4):


默认参数
汇编代码完全相同,(机器码E8后面地址不同是因为intel机器码计算方式所导致,它是根据所调用函数所处位置计算出来的机器码,但是其调用的函数地址是同一个地址)

所以调用sum(1)相当于调用sum(1,4);

上一篇下一篇

猜你喜欢

热点阅读