找回密码
 点一下
查看: 1545|回复: 10

再次关于排泄的重大问题

[复制链接]
发表于 2008-2-24 20:25:19 | 显示全部楼层 |阅读模式
首先, 排除内存泄漏的点变量是否只需要一个?如果是的话下面的请无视。。。。。
排泄问题5.jpg 排泄问题6.jpg   
如图我想测试排泄时附值点时,触发A在附值的该点变量还未被删除时又被触发B附值,此时触发A是否泄露了一个点?
于是乎我测试了一下,也就是多个单位同时释放技能,发现每个施法单位位置都有个步兵。然后再按ESC,没有再次创建步兵。也就是说没有点泄露,也就是说排除内存泄漏的点变量是否只需要一个?
发表于 2008-2-24 20:36:31 | 显示全部楼层
引用楼主fish1989612于2008-02-24 20:25发表的 再次关于排泄的重大问题 :
如图我想测试排泄时附值点时,触发A在附值的该点变量还未被删除时又被触发B附值,此时触发A是否泄露了一个点?

对于这句话,我认为的答案是肯定的………………
lz的测试我认为并没有能够说明这个问题

我的观点是
当一个点被赋值到一个变量时,改变的只是这个变量所引用的内容,而不是这个值本身
当另一个点被赋值到这个变量时,原先的点仍然存在,而变量引用的内容换成了新的点
此时当变量点被清除时,新的点被清除了,原先的点仍然存在,而变量引用的是那个被清除的点,值为null,而那个最早被赋值的点仍然存在,没有被清除,也就是所说的泄漏了
回复

使用道具 举报

发表于 2008-2-24 20:41:23 | 显示全部楼层
我觉得应该可以只用一个变量,因为这些触发应该都不是同时产生的动作,否则的话,可能会有些点没步兵,有些点有两个步兵
回复

使用道具 举报

 楼主| 发表于 2008-2-24 20:43:24 | 显示全部楼层
更正试验内容。。。。 排泄问题5.jpg    排泄问题6.jpg
试验结果:只创建了一个步兵在单位的256距离处。换而言之就是有点泄露,而且是没有附加条件的触发优先进行。
回复

使用道具 举报

 楼主| 发表于 2008-2-24 20:49:46 | 显示全部楼层
那么再次引用前面的问题答案,
排泄问题6.jpg
这样就不会造成点泄露了是不?
回复

使用道具 举报

发表于 2008-2-24 20:51:42 | 显示全部楼层
引用第4楼fish1989612于2008-02-24 20:49发表的  :
那么再次引用前面的问题答案,

这样就不会造成点泄露了是不?

这样的话,不会,而且我认为不需要用到数组,因为变量是立即清除的,不会影响到其他变量
回复

使用道具 举报

 楼主| 发表于 2008-2-24 20:57:15 | 显示全部楼层
首先,zhuzeitou大人你是大好人。那么耐心的回答我的问题
其次,还是有问题。如果不用数组而只用单一点变量的话正是我4楼试验的内容,结果有点泄露。。。。。
有点搞晕了
回复

使用道具 举报

 楼主| 发表于 2008-2-24 20:59:22 | 显示全部楼层
归根到底一句话,到底要不要用数组。。。
回复

使用道具 举报

发表于 2008-2-24 21:02:00 | 显示全部楼层
555555我做了个类似测试,就过出现两个单位………………

location.w3x (17 KB, 下载次数: 18)

我还是觉得,如果是即时清除的话,不需要数组
回复

使用道具 举报

发表于 2008-2-24 21:07:23 | 显示全部楼层
我在某些情况的排泄如下。。。(完全没有权威论证。。。)
事件:#%……#
条件:%……¥#
动作:循环整数1-N做动作
      用极坐标创建一个“图像”创建单位
      设置生命周期
      清除最后创建单位的位置
回复

使用道具 举报

 楼主| 发表于 2008-2-24 21:20:29 | 显示全部楼层
引用第1楼zhuzeitou于2008-02-24 20:36发表的  :
我的观点是
当一个点被赋值到一个变量时,改变的只是这个变量所引用的内容,而不是这个值本身
当另一个点被赋值到这个变量时,原先的点仍然存在,而变量引用的内容换成了新的点
此时当变量点被清除时,新的点被清除了,原先的点仍然存在,而变量引用的是那个被清除的点,值为null,而那个最早被赋值的点仍然存在,没有被清除,也就是所说的泄漏了.......
我误解这句话了,现在终于搞明白。谢谢 zhuzeitou 大人。
还有我终于知道为什么测试结果不一样了。是我技能看错了。。。。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 16:27 , Processed in 0.126417 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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