C++ 函数返回类型

阿姆罗雷
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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章