返回堆空间地址引用的问题
#include <iostream.h>#include <malloc.h>
int* & fun1()
{
int* ps=new int;
//int* ps=ps1;
*ps=2;
return ps;
}
void main()
{
int* ps=fun1();
cout<<*ps<<endl;
}
为什么返回堆空间地址的引用, ps的值在函数返回前后不一样? 但是如果先把ps赋值给变量ps1,再返回
ps1的引用,这样就没问题,这是为什么?请高人指教