Сейчас 16:14:18 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
вопросик про размер массива
undroidyДата: Пятница, 07 Сентября 2012, 21:53:12 | Сообщение # 1
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
Для чего нужен сам массив я понимаю, но мучает такой вот, возможно, глупый вопрос: что дает размер массива?
http://s2.ipicture.ru/uploads/20120907/LScoRELU.jpg
 

DragoNДата: Пятница, 07 Сентября 2012, 21:57:18 | Сообщение # 2
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
видимо не понимаешь что такое массив...
сколько элементов он будет содержать
максимум 8192(0..8191)


El Psy Congroo
 

undroidyДата: Пятница, 07 Сентября 2012, 22:05:51 | Сообщение # 3
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
ну галочку в поле Массив мы ставим для того, чтобы переменная с одинаковым названием могла иметь множество индексов.. так? т.е. нам не надо создавать дополнительные переменные. с этим я сталкивался, к примеру, когда делал подсчет одинаковых артефактов в инвентаре, для их слияния в более мощные итемы
тогда что подразумевается под этими максимально возможными 8192 элементами, вот как раз и не понимаю..
 

lawsonДата: Пятница, 07 Сентября 2012, 22:15:12 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (undroidy)
подразумевается под этими максимально возможными 8192 элементами

Quote (undroidy)
Для чего нужен сам массив я понимаю


Quote (DragoN)
сколько элементов он будет содержать

Мне кажется, это значит сколько значений может в себя вместить массив, точнее сколько он вмешает в себе ячеек со значениями.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

undroidyДата: Пятница, 07 Сентября 2012, 23:56:28 | Сообщение # 5
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
lawson, я оставляю размер массива = 1 или же если я поменяю на 8192, что от этого изменится? на примерах можешь объяснить?
 

DragoNДата: Пятница, 07 Сентября 2012, 23:58:55 | Сообщение # 6
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
если сделаешь один, прокатит только
Code
a[0] = value
a[1] =  anothervalue

если поставишь 8191, то прокатит
Code
a[0] = value
a[1] = anothervalue
a[2] = value3
a[3] = value5
......
a[8191] = value9000


El Psy Congroo
 

undroidyДата: Суббота, 08 Сентября 2012, 00:06:05 | Сообщение # 7
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
хммм, так значит лучше всем массивам задавать значение 8192? или если всем задавать макс. значение, то это сильно отразится на весе карты?
 

kapa6acvlkДата: Суббота, 08 Сентября 2012, 00:11:53 | Сообщение # 8
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
Насколько я знаю, размерность массива для integer, real, boolean, string роли не играет, а вот если группу или таймер делать (объект) и не указать размер, то это вылезет боком, ибо при указании размера в функции инициализации (InitGlobals) создается следующий код:
Code

....
     set i = 0
     loop
         exitwhen (i > 19)
         set udg_Timer[i] = CreateTimer()
         set i = i + 1
     endloop
....

т.е. размер массива в этом случае 19, если в триггере будет указан таймер с индексом 21, он не запустится, т.к. он не существует, он не создан. Только если пользователь не предусмотрел это заранее и не создал его.

Добавлено (08 Сентября 2012, 00:11:53)
---------------------------------------------

Quote (undroidy)
хммм, так значит лучше всем массивам задавать значение 8192? или если всем задавать макс. значение, то это сильно отразится на весе карты?

на скорости загрузки карты это отразиться может.



Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна.
© Александр Зорич
 

undroidyДата: Суббота, 08 Сентября 2012, 00:14:59 | Сообщение # 9
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
ну спасибо, в общем я что-то понял
 

kapa6acvlkДата: Суббота, 08 Сентября 2012, 00:26:33 | Сообщение # 10
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
Quote (undroidy)
ну спасибо, в общем я что-то понял

Короче не заморачивайся, ставь размерность, которая реально необходима и все ;) Либо как вариант, всегда перед очередным использованием элемента массива предварительно удаляй из него объект и создавай новый, но это мне кажется неправильным.



Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна.
© Александр Зорич
 

SirNikolasДата: Суббота, 08 Сентября 2012, 09:18:58 | Сообщение # 11
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
DragoN, автор темы имеет в виду GUI'шные массивы. :)
Quote (kapa6acvlk)
Сообщение # 8
this
Как уже сказано, самые частые ошибки возникают с группами и таймерами.


 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz