Работа с массивами Array и Trie (Удаление массивов)

d3m37r4

111111
Сообщения
1,449
Реакции
1,175
Помог
10 раз(а)
Доброго времени суток. Решил немного попрактиковаться в работе с дин. массивами и задался таким вопросом: необходимо-ли при окончании работы с массивами (в моем случае перед сменой карты) разрушать массивы?
Прочитав статью на amx-x (кстати довольно хорошая статья): http://amx-x.ru/viewtopic.php?f=9&t=2764 в комментах прочел, о что данные массивы сами при смене карты уничтожаются, но в некоторых плагинах, которые разбирал в качестве примеров в plugin_end() есть ArrayDestroy или TrieDestroy.
 

d3m37r4

111111
Сообщения
1,449
Реакции
1,175
Помог
10 раз(а)
Subb98, то есть, все-таки они очищаются в самом amxmod'е. Спасибо :blush2:.
 
Сообщения
258
Реакции
262
Помог
5 раз(а)
d3m37r4, да, верно. Можно дёргать нативы и самостоятельно, хуже от этого не будет. :smile3:
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
по сути ArrayDestroy создан для уничтожения массива в произвольный момент, не дожидаясь смены карты, иногда это полезно.
 

d3m37r4

111111
Сообщения
1,449
Реакции
1,175
Помог
10 раз(а)
Sonyx, это понятно, что массив можно уничтожить в произвольный момент. Вопрос касался именно смены карты, просто привело в ступор наличие уничтожения массивов в одних плагинах, и отсутствие в других :)
 
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
Разговор с Arkshine привёл к пониманию, что в 1.8.3 — разрушать в конце карты не нужно, но для совместимости с старыми вресиями amxx, в конце карты всё же нужно разрушить, во избежание проблем, по типу утечек памяти и прочего.
 

d3m37r4

111111
Сообщения
1,449
Реакции
1,175
Помог
10 раз(а)
wopox1337, в 1.8.2 не предусмотрено разрушение?
Кстати об утечках, есть какие то аспекты, которые необходимо соблюдать, чтобы избежать утечек памяти. Например в том же 1.8.3 (1.8.2 не хочется обсуждать, ибо надо идти в ногу со временем :crazy:).
 
Сообщения
258
Реакции
262
Помог
5 раз(а)
d3m37r4, из наиболее известных проблем - это новая система меню (в обработчике всегда нужна проверка на exit), работа с EngFunc_AllocString (всегда нужно кэшировать).
7 Янв 2018
в 1.8.2 не предусмотрено разрушение?
И да, скорее, речь про 1.8.1, т.к. в 1.8.2, насколько помню, динамические массивы также очищаются автоматически.
7 Янв 2018
П.с.: а, нет, посмотрел исходники 1.8.2, там, всё-таки, этого нет...
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу