1楼:千锋教育
主要差别是 是否调用析构函数
delete data 会自动调用data数组每个元素的析构函数
delete data则不会
2楼:匿名用户
没区别!!!你确定你问题问的对?
c++中delete和delete的区别
3楼:育知同创教育
delete or delete?问题没说清楚啊 如果是上面所述 delete主要是用来释放数组 特别是自定义数组 常常和new配合使用
c++中delete和delete的区别
4楼:千锋教育
c++中delete和delete的区别如下:
在**用 new 分配的单个对象的内存空间的时候用 delete,**用 new 分配的一组对象的内存空间的时候用 delete。
程序举例说明:
#include ;
using namespace std;
class t
~t()
};int main()
基本类型的对象没有析构函数,所以**基本类型组成的数组空间用 delete 和 delete 都是应该可以的;但是对于类对象数组,只能用 delete。对于 new 的单个对象,只能用 delete 不能用 delete **空间。
所以一个简单的使用原则就是:new 和 delete、new 和 delete 对应使用。
c++中delete和delete的区别
5楼:du知道君
你是不是问 delete 和 delete 的区别? 一个是释放单个物体 比如 : class a;...
a *p=new a(); 一个是释放物体数组 a *p=new a[50]; delete a;
c++中delete和delete的区别
6楼:千锋教育
delete 是删除一个变量并且释放其分配的内存.一般用在非内部数据类型的对象上.
delete 删除一个数组,释放分配的内存.
上面是运算符.
free() 是c++/c语言的标准库函数,不能用在非内部数据类型的对象上,满足不了动态对象的要求.
7楼:匿名用户
一直对c++中的delete和delete的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。
c++告诉我们在**用 new 分配的单个对象的内存空间的时候用 delete,**用 new 分配的一组对象的内存空间的时候用 delete。
关于 new 和 delete,其中又分为两种情况:(1) 为基本数据类型分配和**空间;(2) 为自定义类型分配和**空间。
请看下面的程序。
#include ;
using namespace std;
class t
~t()
};int main()
大家可以自己运行这个程序,看一看 delete p1 和 delete p1 的不同结果,我就不在这里贴运行结果了。
从运行结果中我们可以看出,delete p1 在**空间的过程中,只有 p1[0] 这个对象调用了析构函数,其它对象如 p1[1]、p1[2] 等都没有调用自身的析构函数,这就是问题的症结所在。如果用 delete,则在**空间之前所有对象都会首先调用自己的析构函数。
基本类型的对象没有析构函数,所以**基本类型组成的数组空间用 delete 和 delete 都是应该可以的;但是对于类对象数组,只能用 delete。对于 new 的单个对象,只能用 delete 不能用 delete **空间。
所以一个简单的使用原则就是:new 和 delete、new 和 delete 对应使用。
8楼:匿名用户
是说delete和delete的区别么?
前者销毁的只是指针指向的一个对象,后者是删除一组(一个数组)
c++中delete和delete的区别
9楼:千锋教育
c++中delete和delete的区别从实例中比较如下:
#include;
usingnamespacestd;
classt
~t()
};intmain()
delete p1 在**空间的过程中,只有 p1[0] 这个对象调用了析构函数,其它对象如 p1[1]、p1[2] 等都没有调用自身的析构函数,这就是问题的症结所在。如果用 delete,则在**空间之前所有对象都会首先调用自己的析构函数。
基本类型的对象没有析构函数,所以**基本类型组成的数组空间用 delete 和 delete 都是应该可以的;但是对于类对象数组,只能用 delete。对于 new 的单个对象,只能用 delete 不能用 delete **空间。
所以一个简单的使用原则就是:new 和 delete、new 和 delete 对应使用。
10楼:福喜
c++告诉我们在**用 new 分配的单个对象的内存空间的时候用 delete,**用 new 分配的一组对象的内存空间的时候用 delete。
很多人注意到了这个问题,但是却不清楚为什么要这样做,不这样做行不行。
关于 new 和 delete,其中又分为两种情况:(1) 为基本数据类型分配和**空间;(2) 为自定义类型分配和**空间。
对于 (1),毫无疑问 delete 和 delete 是等同的。但是对于 (2),情况就发生了变化。
delete p1 在**空间的过程中,只有 p1[0] 这个对象调用了析构函数,其它对象如 p1[1]、p1 [2] 等都没有调用自身的析构函数,这就是问题的症结所在。如果用 delete,则在**空间之前所有对象都会首先调用自己的析构函数。
基本类型的对象没有析构函数,所以**基本类型组成的数组空间用 delete 和 delete 都是应该可以的;但是对于类对象数组,只能用 delete。对于 new 的单个对象,只能用 delete 不能用 delete **空间。
所以一个简单的使用就是:new 和 delete、new 和 delete 对应使用。
c++中delete和delete的区别
11楼:千锋教育
一直对c++中的delete和delete的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。
c++告诉我们在**用 new 分配的单个对象的内存空间的时候用 delete,**用 new 分配的一组对象的内存空间的时候用 delete。
关于 new 和 delete,其中又分为两种情况:(1) 为基本数据类型分配和**空间;(2) 为自定义类型分配和**空间。
请看下面的程序。
#include ;
using namespace std;
class t
~t()
};int main()
大家可以自己运行这个程序,看一看 delete p1 和 delete p1 的不同结果,我就不在这里贴运行结果了。
从运行结果中我们可以看出,delete p1 在**空间的过程中,只有 p1[0] 这个对象调用了析构函数,其它对象如 p1[1]、p1[2] 等都没有调用自身的析构函数,这就是问题的症结所在。如果用 delete,则在**空间之前所有对象都会首先调用自己的析构函数。
基本类型的对象没有析构函数,所以**基本类型组成的数组空间用 delete 和 delete 都是应该可以的;但是对于类对象数组,只能用 delete。对于 new 的单个对象,只能用 delete 不能用 delete **空间。
所以一个简单的使用原则就是:new 和 delete、new 和 delete 对应使用。
drop table,truncate table和delete的区别
12楼:深圳海枫科技****
1、drop删表,表结构将删了,当然数据也不存在了2、truncate和delete删数据,表结构还在3、delete可以带条件删除,truncate是全部删除4、delete删除会写日志,truncate不写5、delete效率低,数据可以恢复,truncate效率高,数据不可恢复
truncate 和delete的区别
13楼:瑛夫科技
truncate table 在功能上与不带 where 子句的 delete 语句相同:二者均删除表中的全部行。但 truncate table 比 delete 速度快,且使用的系统和事务日志资源少。
delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
truncate table 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
truncate,delete,drop放在一起比较:
truncate table:删除内容、释放空间但不删除定义。
delete table:删除内容不删除定义,不释放空间。
drop table:删除内容和定义,释放空间。
C++中delete和delete的区别
1楼 du知道君 你是不是问 delete 和 delete 的区别 一个是释放单个物体 比如 class a a p new a 一个是释放物体数组 a p new a 50 delete a c 中delete和delete的区别 2楼 育知同创教育 delete or delete 问题没说清...