考虑以下函数
int f (const int& i)
{
cout << "in const reference function";
}
int f ( int &i)
{
cout << "in non const reference function";
}
int main()
{
int i;
f(3);
f(i);
}
在这种情况下,当函数调用与函数定义绑定时,它是在编译时还是运行时,因为一个是左值i
而另一个不是?
除此之外,这两个函数在参数的数量和类型方面是相同的。