請參閱以下代碼片段。在第二個函數中,我返回一個引用。我在函數中聲明一個局部變量並返回地址。由於變量是局部的,我相信當它退出函數時,它的生命就結束了。我的問題是爲什麼即使原始變量被刪除,也可以在沒有任何異常的情況下從調用者訪問值?返回參考
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;
}
問候, 約翰
on funcMul,我想你的意思是* * MulRes =(x * y)' – Muggen
@Muggen。感謝您指出。現在更正。 –