游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4105|回复: 10

delete的效率问题

[复制链接]

21

主题

41

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2008-8-14 21:25:00 | 显示全部楼层 |阅读模式
delete p;

if (p) delete p;
那个好些?

2

主题

683

帖子

687

积分

高级会员

Rank: 4

积分
687
发表于 2008-8-15 06:47:00 | 显示全部楼层

Re:delete的效率问题

当然是如果你可以确定P不会失效的话,不加if的快

12

主题

95

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
发表于 2008-8-15 11:06:00 | 显示全部楼层

Re:delete的效率问题

命题不正确,就你的内容而言,下面这样更加简单:
delete p;
p = NULL;

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2008-8-15 14:08:00 | 显示全部楼层

Re:delete的效率问题

p不是NULL,也可以无误地进行delete
malloc/free也一样

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2008-8-15 19:42:00 | 显示全部楼层

Re:delete的效率问题

如果你要考虑函数开销,当然平均下来第二种会快些。

你跟进delete的函数体就会发现一开始还是一个if。

如果只是逻辑上,那没什么差别。

3

主题

137

帖子

151

积分

注册会员

Rank: 2

积分
151
QQ
发表于 2008-8-21 11:54:00 | 显示全部楼层

Re:delete的效率问题

正确的做法是

if (p != NULL)
{
    delete p;
    p = NULL;
}

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2008-8-24 21:55:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

35

主题

141

帖子

157

积分

注册会员

Rank: 2

积分
157
发表于 2008-9-3 16:23:00 | 显示全部楼层

Re:delete的效率问题

恩,对 p = NULL;
很好

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-9-4 17:46:00 | 显示全部楼层

Re:delete的效率问题

我本以为没有人比我还强迫症了

7

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
发表于 2008-9-4 20:19:00 | 显示全部楼层

Re:delete的效率问题

精细化,能够注意到这种程度。让人感动。请接受我这个菜鸟的一躬,你们太新苦啦。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 02:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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