假设我有以下功能:
int f(int& x)
{
x++;
return x;
}
第一个问题,return 语句是否复制了引用 x 的值,因为函数没有返回 int&。
第二个问题,为什么我不能用文字调用函数?如果我确实想有时用文字有时用值调用函数怎么办?我试过重载
int f(int x)
{
x++;
return x;
}
如果我用文字调用它会编译。但是当我传递一个变量时,我得到了模棱两可的调用错误。有没有办法做到这一点?
也许这就是你想要的:
int F(const int& x) { return x + 1; }
int F(int& x) { x++; return x; }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句