Есть ли смысл помимо локальных переменных обнулять переменные, которые принимает функция?

Аргументы функций хоть и технически такие же локалки, но их обнуляет интерпритатора, тупо дописываю перед ретурном set v =null. Почему такое не происходит с обычными локалками - большая загадка.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
38
Это называется "аргумент" и в жасс их обнулять не нужно, исходя из старых статей
18
Нет, глобальные переменные обнулять нет смысла. Они как правило не дают утечек.
38
dave_wwid, про глобальные речи не шло
32
Аргументы функций хоть и технически такие же локалки, но их обнуляет интерпритатора, тупо дописываю перед ретурном set v =null. Почему такое не происходит с обычными локалками - большая загадка.
Принятый ответ
16
потому что, грубо говоря, когда компилятор видит
set u=someUnit
он этому someUnit ставит счетчик +1, а юниту из u - счетчик -1
я так на мх попался, когда юнита вписывал из нативного кода игры, а удалял из переменной через set u=null
в итоге счетчик референсов падал до отрицательных значений и юнит из игры стирался
а в аргументах такой механики нет
пойду гляну, делает ли он -- счетчику, если нуллить аргумент
22
DracoL1ch, вроде клонирует локально под кейс ожидание завершение функции и обнуление а оригинал внешниый который передает все еше жив
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.