我这样写,能正确释放申请的内存吗?当然编译是正确的。
#include <iostream>
using namespace std;int mynew(char *s)
{
s=new char[10];
if (s==NULL)
{
return 0;
}
strcpy(s,"hehe");
cout<<s<<endl;
return 1;
}int main()
{
char *p=NULL;
mynew(p);
delete p;
p=NULL;
return 1;
}
#include <iostream>
using namespace std;int mynew(char *s)
{
s=new char[10];
if (s==NULL)
{
return 0;
}
strcpy(s,"hehe");
cout<<s<<endl;
return 1;
}int main()
{
char *p=NULL;
mynew(p);
delete p;
p=NULL;
return 1;
}
解决方案 »
- 深入浅出MFC上有两页不懂
- CDialog全屏效果怎么实现?
- image magick如何使用dll而不是lib链接?
- 如何向静态文本输出内容?
- 错误提示:"Out of Memory",如何处理??请指点一下……
- 怎么样将资源wmf格式的图片转换成CBitMap,然后放进CListCtrl里面显示出来?
- 有谁知道wave语音文件的fft算法?
- 在这个论坛上泡将近半年了,QQ上竟没有一个编程方面的好友,真是惭愧,甚感在此来去匆匆,没有留心结交这里朋友,现在将我的QQ号:7796816
- 桌面软件用什么制作最后呢?
- Nicrosoft可能是个高手,但可能不是软件开发方面的~~~~
- WIN2000 and WIN XP 风格对话框
- 接收Socket字符串的问题
using namespace std;int mynew(char **s)
{
*s=new char[10];
if (*s==NULL)
{
return 0;
}
strcpy(s,"hehe");
cout<<s<<endl;
return 1;
}int main()
{
char *p=NULL;
if( mynew(&p) )
{
delete []p;
p=NULL;
}
return 1;
}习惯上这样写,不过俺也没调试,不知道是否哪个地方有错误。