H
hello world
offline
Опыт:
130,376Активность: |
[холивар] Массив считаем с нуля или с еденицы? )
Плюсы "метода с еденицы"
Плюсы "метода с нуля"
Какой вариант вы используете при создании массивов? Отредактировано ScorpioT1000, 30.10.2010 в 21:54. |
27.10.2010, 23:52 | #1
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
С нуля, потому что это удобно считать :D |
27.10.2010, 23:54 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
С нуля, т.к. при единице пропадает одна ячейка и вообще говнокодинг это =D |
27.10.2010, 23:55 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
H
hello world
offline
Опыт:
130,376Активность: |
Мне наоборот кажется что удобнее считать с единицы.
Ahelhot добавил:
Для себя нет. Другое дело если с твоим кодом работает кто то еще ) |
27.10.2010, 23:56 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
если считать с единицы, то будут постоянные несоответствия и оверрайды |
28.10.2010, 01:06 | #5
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
H
hello world
offline
Опыт:
130,376Активность: |
счиго бы это?
Ноль обрабатывается нормально, просто не используется. Массив в 10 чисел от 1 до 10. ( с еденицы ) Массив в 10 числе от 0 до 9 ( с нуля =О ) var[0] = null / false / 0 / что угодно еще. var[1] = true var[2] = false var[3] = false ... |
28.10.2010, 01:15 | #6
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Skino
offline
Опыт:
4,683Активность: |
Считаю с еденицы, т.к. в 0 храню либо количество ячеек, либо дефолтную инфу потипа "none"
|
28.10.2010, 01:23 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
Ahelhot, тебе тонко намекают, что с массивом у которого первый рабочий индекс - единица неудобно работать. Для управляющих переменных создаются свои переменные, а не выделяется нулевой элемент массива, т.к. из имени переменной должно быть понятно для чего она нужна, в редких случаях требуется комментарий. Из var[0] непонятно что она делает, комментарий обязателен. И не надо говорить, что ты делаешь для себя, ты знаешь для чего это и т.п. Забудь про код на пол года, а потом попробуй разобраться без комментариев с этими var1[0], var4[0] и т.п. |
28.10.2010, 01:26 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
ну сравни:
с единицы:
лишняя операция будет выполняться КАЖДЫЙ РАЗ, чтобы этого избежать придется либо объявлять еще одну глобалку, которая меньше на 1 оригинального сайза, либо локалку, дабы избежать создания её в стеке каждый раз
а если начинать отсчет с нуля:
|
28.10.2010, 01:38 | #9
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
H
hello world
offline
Опыт:
130,376Активность: |
Как видишь все просто, никаких "минус адын" нет, и никаких лишних вычислений. Не понимаю в твоем примере (про еденицу) зачем ты заставляешь код таки считать с 0 =\ ( т.е i-1)
p.s синтакс приблизительный взят с кучи разных языков =) то ли js , то ли galaxy то ли еще хз что. |
28.10.2010, 02:15 | #10
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
тут написано из тридцати, кроме того, голые цифры пишут только быдлокодеры или в "наколенных программах", все константы всегда хранятся отдельно от реализации |
28.10.2010, 02:27 | #11
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
лично я пользуюсь банальной логикой. + это никакой не спор. у каждого есть своя цель.
с 0ля это логичный (рацыональный) способ использования памяти. с 1ы (учитывая что 0 существует) можно начинать хранить данные которые требуют большой степени "надежности" ибо 0 = "ошибка" некоректность в некоторых случиях и тем самым пологатся на такое число нельзя. в целом всё =) я лично делаю что требует большей стабильности с 1. а обычно всё с 0ля. актуальный пример. это выделить хендл для объекта (даже не джасс т.е. любой объект) если следовать логики 0 это начяло то я буду выделять объект с ид 0 О_о что есть по многим причинам некоректно. и т.д. |
28.10.2010, 04:05 | #12
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
есть некоторые вещи, когда типа индекс равен нулю и логично считать его ошибкой, как в индексах структур на vJass, это да :) но в целом, если нет причин, то не стоит это "заучивать" и юзать норм отсчет с нуля |
28.10.2010, 14:56 | #13
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
H
hello world
offline
Опыт:
130,376Активность: |
в galaxy 31. 0 тоже считается. Константы я юзаю в структурах ) здесь не было смысла, ибо я только хотел донести смысл кода. ((цитата
есть некоторые вещи, когда типа индекс равен нулю и логично считать его ошибкой, как в индексах структур на vJass, это да :) но в целом, если нет причин, то не стоит это "заучивать" и юзать норм отсчет с нуля )) Так ты согласен что нужно писать с единицы в некоторых ситуациях? ) |
28.10.2010, 15:19 | #14
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZiDI
0-Hedgehog =0
offline
Опыт:
1,726Активность: |
Хоть я и не джассер, да и вообще не программист, Я делаю с нуля, как в школе учили =) |
28.10.2010, 16:04 | #15
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
lentinant
Скучно
offline
Опыт:
42,216Активность: |
Ahelhot:
только не в С++ |
28.10.2010, 16:08 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
RazArt
offline
Опыт:
11,197Активность: |
0
|
28.10.2010, 16:10 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
при объявлении в скобках указывается явный размер массива, чето вы гоните. другое дело при доступе |
28.10.2010, 16:47 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
Цитата:
|
|
28.10.2010, 17:47 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
jeD_wc3
Изучаю C++
offline
Опыт:
4,038Активность: |
С нуля, так, как препод заставляет считать с нуля =)
lentinant:
wtf? o_O |
28.10.2010, 18:00 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|