返回引用:为什么它有效?

时间:2014-05-24 08:16:18

标签: c++ optimization reference return inline

所以我想说我有这个C ++代码:

int& foo()
{
  int temp = 42;
  return temp;
}

int main ()
{
  int x;
  x = foo();
  cout << x << endl;
}

当我尝试编译它时,它完全正常。但它真的不应该,对吧? “temp”超出了foo的范围,我只是通过引用返回它。

是否与编译器优化有关(自动将其设置为内联函数?)?假设我必须使用哪个关键字才能使其不起作用? (我已经尝试过__stdcall)

0 个答案:

没有答案