XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
NCrashed

offline
Опыт: 13,553
Активность:
Как очистить хештаблицу?
Тема эпик боян, но есть 1 проблема:
У меня есть структура:
struct MS {
	hashtable h1
	hashtable h2

	static MS Init() {
		MS new = MS.create()
		new.h1 = InitHashtable()
		new.h2 = InitHashtable()
		return new
	}
}
При использовании FlushParentHashtable(myms.h1) очищаются ВСЕ хештаблицы ВСЕХ структур MS? Мб я что-то не понял? Или надо как-то использовать FlushChildHashtable()?
З.Ы. Мне надо обязательно чистить эти таблицы. Собственно вопрос: если взять и присвоить h1 = InitHashtable() снова вместо flush, то очевидно появляется утечка? (я совсем запутался)
Старый 31.10.2009, 22:44
ZeToX2007

offline
Опыт: 7,009
Активность:
NCrashed, Уничтожай хештаблицы.
Старый 01.11.2009, 09:56
NCrashed

offline
Опыт: 13,553
Активность:
Не шариш, такой нативки просто нет.
NCrashed добавил:
Чудные эти хештаблицы, как обычно все сделано через одно место. Никто не сталкивался с подобной проблемой?
Старый 01.11.2009, 10:09
Rinegan

offline
Опыт: 895
Активность:
Ты тупишь чёто. Для каждой структуры создаётся своя таблица. вот код:
struct MS {
	hashtable h1
	hashtable h2

	static MS Init() {
		MS new = MS.create()
		new.h1 = InitHashtable()
		new.h2 = InitHashtable()
		return new
	}
}

//некий триггер
MS myms1 = MS.Init()
MS myms2 = MS.Init()
FlushParentHashtable(myms1.h1) //очистит талицу только для myms1,  а в myms2 останеца.
Старый 01.11.2009, 12:15
NCrashed

offline
Опыт: 13,553
Активность:
Вот я разбираюсь, у меня получается, что при флеше таблицы любой очищаются все таблицы всех экземпляров класса.
Старый 01.11.2009, 12:35
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Стоп неконструктивный флуд
Старый 02.11.2009, 13:45
adic3x

offline
Опыт: 108,439
Активность:
у меня получается, что при флеше таблицы любой очищаются все таблицы всех экземпляров класса
очевидно у вас где то ошибка, попробуйте просматреть уже обработанный жасс код
Старый 02.11.2009, 14:02
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 00:25.