C++基础-形参带默认值的函数
//定义处可以给形参默认值,声明也可以给形参默认值
//不管何处给,形参默认值只能出现一次
//int sum(int a = 10, int b = 20);
//形参带默认值的参数,只能从右向左给
//实际压栈也是从右向左
int sum(int a=10, int b=20)
{
return a+b;
}
int main(void)
{
int a = 10;
int b = 20;
int ret = sum(a,b);
/*
mov eax, dword ptr[ebp-8]
push eax
mov ecx, dword ptr[ebp-4]
push ecx
call sum
*/
cout<<"ret: "<<ret<<endl;
ret = sum(a);
/*
push 14H
mov ecx, dword ptr[ebp-4]
push ecx
call sum
*/
ret = sum(); //等同 sum(10,20);
/*
push 14H
push 0Ah
call sum
*/
}
总结:
- 形参带默认值的参数,只能从右向左给
- 直接传立即数比传变量效率更好,少了mov指令
- 定义处可以给形参默认值,声明也可以给形参默认值
- 不管何处给,形参默认值只能出现一次
本文作者:言叶以上
本文链接:https://www.cnblogs.com/anqwjoe/p/16473239.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步