在函数中
int foo(int i, int j)
{
return i + j;
}
两者i
和j
都未初始化,因此可以使用并且仅使用两个参数调用此函数:
foo(5, 6); // 11
好的,但是 C++ 具有默认参数,并且可以定义如下:
int foo(int i = 1, int j = 2)
{
return i + j;
}
这里两者i
都有j
默认参数,然后调用:
foo(5, 6); // 11
foo(5); // 7
foo(); // 3
是可能的。那么,为什么要这样定义:
int foo(int i += 1, int j += 2)
{
return i + j;
}
这些电话:
foo(5, 6); // 14
foo(5); // 8
foo(); // 3
是不可能的?很难表示这个定义还是调用会导致一些问题?我想知道。