[讨论]成员函数内new的空间与普通函数内new的空间有何不同?
链表的实现中,增加结点的函数中会为一个新结点开辟新的内存空间,函数执行结束后这片内存空间仍然可以通过指针正常的使用,而且不会被其他的程序占用.为什么普通的函数开辟的新的内存空间在函数执行结束后就被delete,使用它会导致不确定结果呢?
下面就是普通函数啊,这是正常的,可以访问啊!!!
int *func()
{
int *p=new int[10];
memset(p,0,sizeof(int)*10);
return p;
}
void main()
{
int *p=func();
cout<<*p;
if(p)delete []p;
}