const int& foo(int i)
{
return i;
}
作为一名计算机科学专业的学生,我想知道这个函数是如何工作的。在函数声明中,返回类型是对int的const引用,但在函数内部我们传递的只是一个int,我读过的大部分介绍书都说返回类型应该与我们返回的内容相匹配,谁能帮我理解实际发生了什么?
在函数声明中,返回类型是对 int 的 const 引用,但在函数内部,我们传递的只是一个 in
C++ 有隐式转换,例如:
double function(int n) {
return n;
}
存在从 int 到 double 的隐式转换。
在您的情况下,您可以从 int 转换为引用。这是正确的并且可以编译,但在这种情况下,您的变量将在函数末尾“删除”。如果您以后使用它,这可能会成为问题,这被认为是未定义的行为
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句