游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3446|回复: 8

请问指针释放问题?

[复制链接]

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2004-5-31 09:45:00 | 显示全部楼层 |阅读模式
WORD *Temp = (WORD*)Surf_temp_src.lpSurface;       
我在程序中UNLOCK后,是否需要释放WORD *TEMP指针?
即:SafeDeleteArray(Temp);
SafeDeleteArray原形为:
#define SafeDeleteArray(pObject) if(pObject != NULL) { delete[] pObject;pObject=NULL;}
[em24]

0

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-5-31 09:50:00 | 显示全部楼层

Re:请问指针释放问题?

如果你在函数内为指针申请了内存,你就在函数退出前释放指针。如果是全局的变量,你就在需要释放的地方释放它

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-5-31 09:58:00 | 显示全部楼层

Re:请问指针释放问题?

dx会在你unlock以后自动清理掉内存,你不用主动释放

0

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-5-31 10:05:00 | 显示全部楼层

Re:请问指针释放问题?

哦,看来再释放会报错的

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2004-5-31 10:15:00 | 显示全部楼层

请问指针释放问题?

如在函数中有这样的语句:WCHAR wFile[MAX_PATH]
那又怎么释放呢?

0

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-5-31 10:19:00 | 显示全部楼层

Re:请问指针释放问题?

不需要释放。你声明的实际的内存空间,系统会释放他们的,你不需要管

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2004-5-31 10:32:00 | 显示全部楼层

Re: 请问指针释放问题?

楼上的意思是不是该函数执行完就会释放实际的内存空间?
还有就是请各位看以下代码:
DDTX_TempSurface_src=DDTX_TempSurface_desc;
(*DDTX_TempSurface_src)->Lock(NULL,&Surf_temp_src,DDLOCK_WAIT, NULL);
DDTX_Temp_Src = (WORD*)Surf_temp_src.lpSurface;
.
.                   //其它代码
.
(*DDTX_TempSurface_src)->Unlock(NULL);
然后在析构函数中
SafeDelete(DDTX_TempSurface_src);


运行结果出错:
[em7]
sf_2004531103217.jpg

0

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-5-31 10:39:00 | 显示全部楼层

Re:请问指针释放问题?

你还是好好检查是否真的给指针分配空间了么

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2004-5-31 11:14:00 | 显示全部楼层

Re:请问指针释放问题?

找到错误了!谢谢各位
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-1 11:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表