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