请参阅以下代码段.在第二个函数中,我将返回一个引用.我在函数中声明一个局部变量并返回地址.由于变量是局部的,我相信它的生命在退出函数时结束.我的问题是,为什么即使原始变量被删除,也可以在没有任何异常的情况下从调用者访问值?
int& b=funcMulRef(20,3);
int* a= funcMul(20,3);
int* funcMul(int x,int y)
{
int* MulRes = new int;
*MulRes = (x*y);
return MulRes;
}
int& funcMulRef(int x,int y)
{
int MulRes ;
MulRes = (x*y);
return MulRes;
}
Run Code Online (Sandbox Code Playgroud)
此致,约翰