找回密码
 点一下
查看: 2360|回复: 9

[已解决]函数的参数需要清除吗?

[复制链接]
发表于 2008-6-24 12:45:25 | 显示全部楼层 |阅读模式
在函数里能清除参数吗?
会造成内存泄漏吗?
发表于 2008-6-24 13:34:58 | 显示全部楼层
记得头目说参数不影响引用数,所以应该是不必清楚参数的………………
回复

使用道具 举报

 楼主| 发表于 2008-6-24 13:50:12 | 显示全部楼层
??
是这样吗?
(听不懂)
回复

使用道具 举报

 楼主| 发表于 2008-6-24 13:59:00 | 显示全部楼层
再解释一下嘛。
回复

使用道具 举报

发表于 2008-6-24 14:03:40 | 显示全部楼层
war3中的内存释放机制貌似是这样的
当一个对象被销毁,且引用数为0的时候,它将被从内存中释放,可以重新被利用

当一个对象被赋值到变量的时候,它的引用数就增加1,变量被设为空(null)或是重新赋值为其他对象时,这个引用数就减少1,所以局部变量需要设为null(貌似也看到过其他的一些说法)
而根据头目的说法,参数是不影响这个引用数的,所以不需要设为null
回复

使用道具 举报

 楼主| 发表于 2008-6-24 16:18:12 | 显示全部楼层
不是不是啦。
我是说:
function a takes location loc returns nothing
call RemoveLocation(loc)
endfunction
这样可不可以呀。
回复

使用道具 举报

发表于 2008-6-24 16:55:56 | 显示全部楼层
这样属于没事找事干………………
回复

使用道具 举报

 楼主| 发表于 2008-6-24 17:07:32 | 显示全部楼层
………………………………
知道了
回复

使用道具 举报

发表于 2008-6-27 13:56:40 | 显示全部楼层
清除可以, set null不可以.
回复

使用道具 举报

 楼主| 发表于 2008-7-14 09:51:14 | 显示全部楼层
谢谢兔子呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 07:38 , Processed in 0.036226 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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