| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 370 人关注过本帖
标题:delete[]
只看楼主 加入收藏
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
结帖率:31.58%
收藏
 问题点数:0 回复次数:6 
delete[]
int* date=new int[3];
delete[] date;
if(!date) cout<<"date null!\n";

结果未显示,难道delete之后,date不为空值吗?
2012-08-30 13:52
dz789989
Rank: 2
等 级:论坛游民
威 望:1
帖 子:44
专家分:95
注 册:2012-8-21
收藏
得分:0 
#include <iostream>
using namespace std;
void main()
{
    int* date=new int[3];
    delete[] date;
    if(date)
    {
        cout<<"date null!\n";
    }

}
这样就显示输出信息了
2012-08-30 14:26
dz789989
Rank: 2
等 级:论坛游民
威 望:1
帖 子:44
专家分:95
注 册:2012-8-21
收藏
得分:0 
#include <iostream>
using namespace std;
void main()
{
    int* date=new int[3];
    delete []date;
    cout<<date;
    if(date)
    {
        cout<<"date null!\n";
    }

}
date虽然清了  但是地址还在 非0就是真 你可以运行一下看看
2012-08-30 14:29
dz789989
Rank: 2
等 级:论坛游民
威 望:1
帖 子:44
专家分:95
注 册:2012-8-21
收藏
得分:0 
你要再将指针赋为空以后才行 不然只是删除指向的对象
2012-08-30 14:33
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
delete p 是释放p的值所指示的内存
而非释放p的值本身
2012-08-30 14:36
Aidoneus
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2012-8-2
收藏
得分:0 
因为
int* date=new int[3];        
 delete[] date;
 if(!date) cout<<"date null!\n";        // 这段判断语句中加了!非运算符、所以条件反了、应去掉!才能输出。
2012-08-30 19:26
zhuanjia0
Rank: 4
等 级:业余侠客
威 望:3
帖 子:86
专家分:232
注 册:2012-1-13
收藏
得分:0 
int* date=new int[3];
delete[] date;

delete只释放new申请的空间,而date指针本身指向的地址没变,变成了野指针,所以应该在后面加上date=NULL;
2012-08-30 23:18
快速回复:delete[]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012325 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved