首页 >> 学校要闻 >

今日delete me(delete)

2022-06-27 05:18:13 来源: 用户: 

大家好,小俊来为大家解答以上问题。delete me,delete很多人还不知道,现在让我们一起来看看吧!

1、 delete只会调用一次析构函数,而delete[]会调用每个成员的析构函数。《更有效的C》中有更详细的解释:“当delete运算符用于数组时,它为每个数组元素调用析构函数,然后调用运算符delete来释放内存。”与delete,新品匹配与delete新品匹配[]。

2、 MemTest * mtest 1=new MemTest[10];

3、 MemTest * mTest2=新的MemTest;

4、 int * pin t1=new int[10];

5、 Int * pInt2=new int

6、 delete[]pint 1;//-1-

7、 delete[]pint 2;//-2-

8、 delete[]mtest 1;//-3-

9、 delete[]mtest 2;//-4-

10、 在-4-报告一个错误。

11、 这表明,对于内置的简单数据类型,delete和delete[]的功能是相同的。对于用户定义的复杂数据类型,delete和delete[]不能互操作。delete[]删除一个数组,delete删除一个指针。简单来说,用new分配的内存用delete;删除,用new[]分配的内存用delete[]删除。delete[]将调用数组元素的析构函数。内部数据类型没有析构函数,所以问题不大。如果你在使用delete,时不使用括号,delete会认为它指向单个对象,否则,它会认为它指向一个数组。

本文到此结束,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章