ff14蛮神百科:C++中的new所分配的内存空间在被delete之前都可用吗?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 20:25:53
比如说main()中调用了函数fun(),那在fun()中用new分配的内存(没有delete,把指针值返回)在main()中还可用吗?

可以,在delete之前,内存堆栈中的数据一直在的。但是要用的话,需要指针
比如:
int * fun(){
int *p=new int[10];
return p;
}
main(){
int *p=fun();
}

可以,但可能比较容易出错
最好不要在面向对象语言里使用函数,特别在函数里建立对象。可以先建立对象,在用对象指针传到函数里

用new堆分配的内存生命周期为整个应用程序,如没有调用delete在main函数执行完后系统才会把这个内存空间销毁

of course