企业即时通讯 - Enterprise Instant Messenger

局域网聊天工具,文字讯息、文件发送、语音通讯、高清视频通讯、远程桌面控制。

用户操作
[即时聊天] [发私信] [加为好友]
FreeEIM StudioID:i_like_cpp
972412次访问,排名32,好友4人,关注者7人。
i_like_cpp的文章
原创 888 篇
翻译 4 篇
转载 69 篇
评论 1148 篇
FreeEIM Studio的公告
最近评论
ScanerKi:#include <stdio.h>

int asm(int s)
{
int t=0;
__asm
{
mov eax, DWORD PTR [ebp+8] ;把s的值传给eax
mov t, eax ;把eax的值传给t
}
printf("- %d……
li_delong:谢谢
li_delong:谢谢
li_delong:谢谢
XUETUJIAN:
文章分类
收藏
相册
EIM 截图
相关软件图片
PI的最精确值
FreeEIM 标签
FreeEIM华军下载
XP SP2 SDK
下载FreeEIM
盛天龙
飞鸽传书
不错的网站
CPPBLOG
局域网聊天
泡妞专家
用VC写Assembly代码(RSS)
百度的Blog(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 怎么会这样?delete [] 了,还能用!!!收藏

新一篇: C++ 创建快捷方式的最简单方法 | 旧一篇: 用VC++6.0 编写一个完整的

#include "stdafx.h"

int main(int argc, char* argv[])
{
 int t[] = {10, 20};
 int *b[8];

 for (int i=0; i<8; i++)
 {
  b[i] = new int[2];
 }

 delete [] b[3];  //这里明明释放了.

 b[4] = t;
 b[3] = t; // 指针还能用吗?
 printf("-----------------\n");
 printf("-------- %d -----\n", b[3][1]);
 for (i=0; i<8; i++)
 {
  printf(" %08p \n", b[i]);
 }
 printf("Hello World!\n");
 return 0;

发表于 @ 2006年09月08日 08:37:00|评论(loading...)|编辑

新一篇: C++ 创建快捷方式的最简单方法 | 旧一篇: 用VC++6.0 编写一个完整的

评论

#cpp 发表于2006-09-08 08:53:00  IP: 218.18.213.*
#include "stdafx.h"
#include "windows.h"

int main(int argc, char* argv[])
{
int *k;
k = new int[1024*1024];
Sleep(1000);
delete[] k;
k[10] = 10;
printf("memory deleted.\n");

Sleep(5000);
printf("adfasdfasdf\n");
return 0;
}//这个又出错了...........
#asdfasdf 发表于2006-09-08 08:40:00  IP: 218.18.213.*

#include "stdafx.h"

int main(int argc, char* argv[])
{
int *k;
k = new int[10];

delete [] k;
k[8] = 10;
printf(" -- %d --\n", k[8]);
return 0;
}
//这个也照常可以用,晕死....
#delete 发表于2006-09-08 09:03:00  IP: 60.171.140.*
大致delete只是释放指针,告诉系统这块内存不属于我了,当然内存不可能消失,这样在别人使用以前,还是有东西的.
就好象硬盘上的文件delete了,还可以用一些工具找回的,前提是这块空间没有被别人使用.
#boli 发表于2006-09-08 12:20:00  IP: 58.33.128.*
delete p;
p=NULL; //这是个好习惯。
#hero 发表于2006-09-08 14:25:00  IP: 221.1.169.*
这个是指针的原因吧??指针虽然是被删除了内容(其所指的东西),但是你仍然可以访问他,计算机会从内存中的任意的一个地方取出一个数值来显示,可以看下下面的这个小程序:
#include "iostream.h"
int main()
{
int *p=new int(5);
//*p=1;
delete p;
cout<<*p<<endl;
return 0;
}
#pdkui 发表于2006-09-08 13:53:00  IP: 221.122.61.*
同意boli.
如果不这样,迟早会知道厉害的。
#pdkui 发表于2006-09-08 13:55:00  IP: 221.122.61.*
同意boli.
#tom_lau 发表于2006-09-13 07:42:00  IP: 202.110.224.*
楼上的各位说得是啊,我就已经知道厉害了,等出了问题,再调试真是太难了。
#wangyl 发表于2006-09-13 13:25:00  IP: 218.75.198.*
看来C/C++你还只懂了一半,快点懂另一半,要不然就不要用C/C++了,用C#,这个是不存在此类问题的
#l 发表于2006-09-29 14:42:00  IP: 61.49.124.*
当然了, 内存又不会消失
发表评论  


登录
Csdn Blog version 3.1a
Copyright © FreeEIM Studio