если я создаю локальные массивы - то в конце функции надо каждому использованному элементу массива устанавливать null?
после этого не засорит ли память сам массив, или его тоже можно как-то обнулить?

Ну разумеется обнуляем массив, иначе будет утечка.
Это относится только к локальным массивам, для глобальных память уже выделена и насрать что там хранится null или не null, 1 или 2, память уже занята на всю игру.
`
ОЖИДАНИЕ РЕКЛАМЫ...
32
Ну разумеется обнуляем массив, иначе будет утечка.
Это относится только к локальным массивам, для глобальных память уже выделена и насрать что там хранится null или не null, 1 или 2, память уже занята на всю игру.
Принятый ответ
16
quq_CCCP:
Ну разумеется обнуляем массив, иначе будет утечка.
утечка - это ссылка на объект, который больше не нужен. массив нужно обнулять, чтобы эти объекты удалились дальше. неважно, выделена под него память или нет, важно, что будет с объектами. Поэтому хендлы чистить надо
12
Если это массив интегеров или реалов, то не надо. Строки вроде тоже не надо обнулять. Игроков обнулять не надо. Все остальное надо, как минимум, обнулять (юниты), а как максимум - уничтожать и обнулять (группы, точки).
А вообще желательно локальных массивов вообще не использовать. Либо глобальные массивы, либо без массивов вообще.
16
помним, что такое обнуление - это уничтожение ссылки на объект, чтобы этот объект можно было считать неиспользуемым и УДАЛИТЬ. Если объект остается в игре до конца, т.е. не исчезает никак, пока карту не закроешь, его можно не нулить. Это может быть вечный триггер, это все игроки, это юниты, кооторые никогда не уйдут с карты - их обнулять не нужно.
массивы - то же самое, что и обычные любые другие переменные. Увеличение кол-ва ссылок происходит при присвоении значения переменной. И неважно, массив там был или обычная.
28
утечка - это ссылка на объект, который больше не нужен. массив нужно обнулять, чтобы эти объекты удалились дальше. неважно, выделена под него память или нет, важно, что будет с объектами. Поэтому хендлы чистить надо
То есть даже у глобальных массивов надо обнулять ячейки?
17
Драколич, погодь если у меня глобальный массив юнитов и в нем записаны юниты которые уже мёртвы и я начинаю его переписывать свежими живыми юнитами,это что считается утечкой
То есть мёртвые уже обнуляться
28
ledoed, речь идёт о ячейках массива которые не будут перезаписаны
так то обнуление это и есть перезапись
Чтобы оставить комментарий, пожалуйста, войдите на сайт.