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

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

Ответ
 
ZeToX2007

offline
Опыт: 7,009
Активность:
быстрый способ уничтожение/создание структур cJass
Если скорость очень важна(например мне) то можно воспользоваться следующим, допустим у нас есть структура:

struct i{
integer i1
integer i2
}

для быстрого создания и уничтожение, нам нужно объявить глобальную переменную имени i111 к примеру и написать пару дефайнов.

Код:
define Create_i(d) = {
    i111=si__i_F
    if (i==0){
        si__i_I= si__i_I +1
        i111=si__i_I
    }else{si__i_F=si__i_V[this]}
     d = i111
    }
    
    define(d) Destroy_i = {
    si__i_V[d]=si__i_F
    si__i_F=d
    }


Ну вот впринцыпе и все. заместо i заменять на своё имя. но мы выигриваем минимум скорости, так уж так делать не надо )

ZeToX2007 добавил:
хотя может пригодиться для альтернативного создания структуры...
Старый 16.09.2009, 02:16
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Что-то такое непонятное и стрёмное. Во-первых, структуры — это vJass. Во-вторых, там как раз всё и сделано чтобы скрыть реализацию. В-третьих, непонятно кому и зачем это надо =0
Старый 16.09.2009, 02:57
adic3x

offline
Опыт: 107,539
Активность:
Что-то такое непонятное и стрёмное.
стандартный способе аллокации нового индекса из вЖасс, мне он кста ненравиться
мое мнение - что нестоит лепить это к обычным структурам, если вы хотите использовать свой алгоритм для скорости вообще не используйте структуры
    private int mx = 0xffffffff, esp = 0x00, array stack

    private int dGet () { if esp != 0x00 { ret stack[--esp] } ; ret ++mx }

    define private dRem (i) = { stack[esp++] = i }
вы все нешарите ©
Старый 16.09.2009, 10:43
ZeToX2007

offline
Опыт: 7,009
Активность:
Цитата:
Сообщение от Van Damm
Что-то такое непонятное и стрёмное. Во-первых, структуры — это vJass. Во-вторых, там как раз всё и сделано чтобы скрыть реализацию. В-третьих, непонятно кому и зачем это надо =0


Цитата:
Сообщение от ZeToX2007
так делать не надо )
Старый 16.09.2009, 14:03
Ответ

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

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

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

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



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