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

Принятый ответ

Не надо обнулять:
  • integer
  • real
  • string
  • boolean
Кроме того, нельзя использовать boolexpr Example = null, обязательно используйте boolexpr Example returns true
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
4
10 лет назад
0
nvc123, ещё Адольф говорил про эту утечку. В cJass он сделал автокоррекцию, но в чистом редакторе оно течёт.
0
16
10 лет назад
0
локальные переменные обнулять вообще не нужно, как я понял. только глобальные. верно?
0
29
10 лет назад
0
avuremybe,
нет не верно
0
16
10 лет назад
0
16GB, блин, а у меня после прочтения ссылок приведенных выше сложилось именно такое мнение...
Именно поэтому, после работы с объектом, его надо не только удалять, но и обнулять все хендлы, ссылающиеся на нашего юнита. Если этого не сделать, они будут "висеть" в таблице хендлов и не только засорять память, но и замедлять скорость доступа к этой таблице.
Исключение – локальные переменные, которые являются параметрами функции. Они удаляются автоматически после выхода из функции.
0
29
10 лет назад
0
которые являются параметрами функции
0
16
10 лет назад
Отредактирован avuremybe
0
16GB, ну является она параметром функции (переменная - это же ссылка, не? какие параметры?), а обнулять мне ее надо или не надо?
4
4
10 лет назад
Отредактирован Странный Парень
4
function Sample takes multiboarditem ItemOne, unit ItemTwo, integer ItemThree returns integer
    local multiboard ItemFour
    local real ItemFive
endfunction
  • ItemOne - локальная переменная, является параметром функции, не обнуляется, так как является параметром
  • ItemTwo - локальная переменная, является параметром функции, не обнуляется, так как является параметром
  • ItemThree - локальная переменная, является параметром функции, не обнуляется, так как является параметром
  • ItemFour - локальная переменная, не является параметром функции, подлежит обнулению, так как не входит в список выше
  • ItemFive - локальная переменная, не является параметром функции, не обнуляется, так как входит в список выше
0
16
10 лет назад
0
Странный Парень, спасибо, теперь понял.
всем спасибо за ответы, тему закрываю.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.