существует где-то список какие конкретно типы переменных надо обнулять в конце тригера, а какие нет? а то по статьям упоминается всего несколько типов переменных, а об остальных мне ничего не известно ;((

Не надо обнулять:
  • integer
  • real
  • string
  • boolean
Кроме того, нельзя использовать boolexpr Example = null, обязательно используйте boolexpr Example returns true
`
ОЖИДАНИЕ РЕКЛАМЫ...
21
юнитов, точки, эффекты. Еще иногда строковые параметры, например в мультибоарде. Это вроде основное.
25
Buulichkaa, да я то читаю, но не на столько много, чтобы узнать все самому, не задавая вопросов (:
тему пока не закрываю, может еще кто добавит чего-то полезного.
15
Все хендлы, кроме текстагов и плееров, у меня такая инфа.
4
Не надо обнулять:
  • integer
  • real
  • string
  • boolean
Кроме того, нельзя использовать boolexpr Example = null, обязательно используйте boolexpr Example returns true
Принятый ответ
28
Странный Парень, а почему нельзя юзать null?
я всегда юзал и пока ничего не случилось
4
nvc123, ещё Адольф говорил про эту утечку. В cJass он сделал автокоррекцию, но в чистом редакторе оно течёт.
25
локальные переменные обнулять вообще не нужно, как я понял. только глобальные. верно?
25
16GB, блин, а у меня после прочтения ссылок приведенных выше сложилось именно такое мнение...
Именно поэтому, после работы с объектом, его надо не только удалять, но и обнулять все хендлы, ссылающиеся на нашего юнита. Если этого не сделать, они будут "висеть" в таблице хендлов и не только засорять память, но и замедлять скорость доступа к этой таблице.
Исключение – локальные переменные, которые являются параметрами функции. Они удаляются автоматически после выхода из функции.
25
16GB, ну является она параметром функции (переменная - это же ссылка, не? какие параметры?), а обнулять мне ее надо или не надо?
4
function Sample takes multiboarditem ItemOne, unit ItemTwo, integer ItemThree returns integer
    local multiboard ItemFour
    local real ItemFive
endfunction
  • ItemOne - локальная переменная, является параметром функции, не обнуляется, так как является параметром
  • ItemTwo - локальная переменная, является параметром функции, не обнуляется, так как является параметром
  • ItemThree - локальная переменная, является параметром функции, не обнуляется, так как является параметром
  • ItemFour - локальная переменная, не является параметром функции, подлежит обнулению, так как не входит в список выше
  • ItemFive - локальная переменная, не является параметром функции, не обнуляется, так как входит в список выше
25
Странный Парень, спасибо, теперь понял.
всем спасибо за ответы, тему закрываю.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.