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

Аргументы функций хоть и технически такие же локалки, но их обнуляет интерпритатора, тупо дописываю перед ретурном 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, вроде клонирует локально под кейс ожидание завершение функции и обнуление а оригинал внешниый который передает все еше жив
16
не шарю, как глянуть вот прям под этот кусок движка, но рефкаунт не меняется от аргументов
Чтобы оставить комментарий, пожалуйста, войдите на сайт.