有这样一个 函数
struc1 * s()
{ struc1 * a;
a= new struc; //分配内存
............... return a ; //函数返回a
}
不能在return前销毁指针吧,
在return后销毁也无效,请问在哪里销毁指针呢?c++能自动销毁吧
struc1 * s()
{ struc1 * a;
a= new struc; //分配内存
............... return a ; //函数返回a
}
不能在return前销毁指针吧,
在return后销毁也无效,请问在哪里销毁指针呢?c++能自动销毁吧
解决方案 »
- socket网络编程的几个问题?
- 请教如下程序的编写算法。。
- 请问如下两个xml文件格式上有什么区别?用IE看是一样的,但是用XMLEditor看就不一样?
- 怎么实现像windows粘贴和删除那样的进度对话框???
- p2p
- 帮助菜单!
- 如何在资源管理器的右键弹出菜单上添加菜单并调用我的程序,同时如何或得的多选时的文件名和数目,我需要MFC的例子
- 先不学COM,是不是可以把《VC技术内幕》第四版中的“第四部分”全部跳过。请指教谢了!
- VC菜鸟的问题,极其简单!但是我不会,哪位帮忙?
- 请问在VC++6.0中什么函数可进行带全路径文件的拷贝??
- 请问CPen成员变量如何读取HPEN句柄中的信息呢?
- 关于线程使用的问题
对p进行处理.
处理完
delete p;
因为a 是在堆里面分配的内存,它有和进程一样的生存期,因此,返回的指针是有效的。
同意 he_zhidan(何志丹:壮志在我心) 的意见。
========================================
a被释放
但指针a指向的内容没有被释放