目录
1,全部缺省
#include<iostream>
using namespace std;
int f(int x = 1, int y = 2)
{
return x + y;
}
int main()
{
cout << f() << " " << f(3) << " " << f(4, 5);
return 0;
}
输出:3 5 9
参数从左往右赋值,所以f(3)是第一个参数x=3
#include<iostream>
using namespace std;
double f(int x = 1, double y = 2)
{
return x + y;
}
int main()
{
cout << f(3.7);
return 0;
}
输出:5
参数仍然是从左往右赋值,可以隐式转换,不能转换就编译失败。
2,部分缺省
如果一部分参数有缺省值,一部分没有,那么必须是所有没有缺省值的都在有缺省值的参数的左边。
#include<iostream>
using namespace std;
double f(int x , double y=2 )
{
return x + y;
}
int main()
{
cout << f(3.7);
return 0;
}
输出5
总之,无论是

博客围绕C++展开,介绍了函数参数的全部缺省和部分缺省情况,指出传参从左往右依次赋值。还详细讲解了bind的功能,即根据已有函数得到新函数,将部分入参和变量或常量绑定,包括普通函数、类的成员函数的绑定及实用场景。
最低0.47元/天 解锁文章
2953

被折叠的 条评论
为什么被折叠?



