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

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

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