This question already has answers here:
Can a local variable's memory be accessed outside its scope?
(20个答案)
6年前关闭。
下面的代码错误吗?我正在返回对局部变量的引用...它应该是核心转储,但是执行得很好。以下代码是否在我的系统上正常运行,因为我很幸运?
(20个答案)
6年前关闭。
下面的代码错误吗?我正在返回对局部变量的引用...它应该是核心转储,但是执行得很好。以下代码是否在我的系统上正常运行,因为我很幸运?
#include<iostream>
using namespace std;
class a{
public:
int i;
int arr[20];
a()
{
cout<<"\ninside constructor";
i=10;
}
public:
static a& ret()
{
a chk;
return chk;
}
void say()
{
i=10;
arr[0]=1;
cout<<"\nHello World\n";
}
};
int main()
{
(a::ret()).say();
return 1;
}
最佳答案
it should core dump
-不。这是不确定的行为,任何事情都可能发生,包括看起来可行(这很糟糕,因为它可以隐藏错误)。
下面的代码在我的系统上工作正常吗,因为我很幸运?
不,因为你很不幸。
关于c++ - 在C++中返回对局部变量的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17475995/
10-11 23:17