21 12
发新话题
打印

[原创演示] 功能纯洁的装备栏之优化二

刚看了     可以说这个装备栏明之你做的相当好

你JASS进步相当神速啊

说来很痛心    要是某个人跟你一样好学就好了     这一年以来他JASS几乎没什么进步

恩    提两点意见供参考

一、不要依赖全局变量,用缓存足够了

二、
function SetAbilityLevel takes unit u,integer ab,integer n returns nothing
      if n != 0 then
          if GetUnitAbilityLevel(u,ab) == 0 then
              call UnitAddAbility(u,ab)
          endif
          call SetUnitAbilityLevel(u,ab,n)
      else
          call UnitRemoveAbility(u,ab)        
      endif
      set u = null
endfunction
这里u是传递过来的参数,可以不清空
“风的精灵啊
  请转告泰兰德
  说我很好地遵守了承诺
  然后长眠于此”

像尤迪安一样无法得到族人认同,无法得到所期待的爱情,但我更要像他那样勇敢、坚韧、能够为爱付出一切,勇往直前的战斗下去……

TOP

听麦德姐姐说严格点写是要这样

TOP

根据zyl910的报告  这样参数传递也会有泄露

但是   老狼说这里可以不清空

没办法   放出老狼跟麦德姐姐打一架吧
“风的精灵啊
  请转告泰兰德
  说我很好地遵守了承诺
  然后长眠于此”

像尤迪安一样无法得到族人认同,无法得到所期待的爱情,但我更要像他那样勇敢、坚韧、能够为爱付出一切,勇往直前的战斗下去……

TOP

其实这里也正是我的疑惑所在

按我理解   在定义一个函数时    takes  类型  参数名   实际就相当于定义了局部变量

从理论上讲   既然在函数体内   它作为一个局部变量使用     那为何最后不清空呢

不过   我看很多代码里    参数都没有清空     也就更迷惑了
“风的精灵啊
  请转告泰兰德
  说我很好地遵守了承诺
  然后长眠于此”

像尤迪安一样无法得到族人认同,无法得到所期待的爱情,但我更要像他那样勇敢、坚韧、能够为爱付出一切,勇往直前的战斗下去……

TOP

反正又不麻烦,就清一下吧

TOP

不知道,大概不用清


或许传递的变量是由函数自己内部的地址,函数自带一个堆栈存放变量,当函数结束后,一切归零,我的想法。
sure,this means nothing.

TOP

 21 12
发新话题