C++中delete和 delete[]的区别

总的原则是,如果是用new[]创建的,则用delete[]删除,如果是用new创建的,则用delete删除。

对于基本类型,比如char *p=new char[20];如果删除时,delete p和delete []p效果是一样的

但如果对于自定义的类,比如 Student  *sp=new Student[20];这时,如果delete sp,则只调用数组中第一个student的析构函数,而如果用delete []sp,则调用全部20个析构函数。

posted on 2015-05-08 17:57  大油蛙  阅读(678)  评论(0编辑  收藏  举报

导航