delete [] p 与 delete p 有什么不一样?

时间:2008-06-03 14:17:15   来源:论坛整理  作者:  编辑:chinaitzhe
char *p;
p=new char[10];
delete [] p;

其中的delete [] p; 与 delete p;有什么不一样?
delete p不就是直接释放空间了么?

还有一个:
warning C4652: compiler option 'Generate Browser Info' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
Linking...

这种错误是怎么回事?要怎么处理?谢啦...
网友回复:
C/C code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/



char *p; 

p=new char[10];  //分配10个char的空间

delete [] p;  //删除10个


网友回复:delete [] p删除一组对象.
与 delete p;删除一个对象.
网友回复:warning C4652: compiler option 'Generate Browser Info' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header

rebuild一下就可以了
或者把.pch文件删掉
网友回复:delete p不就是删除了申请的那块内存么?
还有下面的警告是怎么回事?
网友回复:delete []p会循环调用数组P中每个对象的析构函数,但是假如P中的元素是基本类型的话 其实就无所谓了 效果一样的
网友回复:delete p其实也能删除动态分配的空间 不过不能挨个调用数组元素的析构函数~~~~
关键字:delete,delete,不一样,
上一篇:数组里面乘法

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面