![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
отрицательный индекс - часть данных, смещения - только для вывода Вобщем остаюсь при своем мнении чего всегда и добивались. ООП - проявление того же стремления Только потому что Си подругому не может? (только не спрашивай причем здесь Си) -------------------- Обижено школьников: 8 |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 19 |
Сам пояснил -------------------- ...все в мире относительно |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Редко - но похоже это и есть тот случай. Иначе было бы допустимо менять индекс, не меняя номер точки графика. Тут уже простым смещением не отделаешься, а придется вводить массив записей. Не целесообразно. Добавлено @ 16:31 ,Не умаляя заслуг Snowy - я тоже не вчера синтаксис выучил. И мой опыт говорит, что если удобно и прозрачно, то не только можно, но и нужно Добавлено @ 16:32 Это конечно если координаты только целые, что можно заключить из поста Guedda -------------------- Обижено школьников: 8 |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 19 |
bems, использовать или не использовать отрицательные индексы в массиве - решать программисту. В заключение могу лишь привести еще одно обоснование, пусть не существенное, но все же. Когда массив объявляется как, например, array[-10..10] или array[5..15], то при компиляции программы в код asm'а компилятор должен будет вычислить следующее:
itemAddr = startInd + itemSize * (index + shift) где shift равен +10 - для первого примера и -5 - для второго. Умножая на количество операций обращения к каждому элемента огромного массива, тратится... вообщем, скажете не существенно, учитывая производительность современных железных коробок - и будете почти правы. Почти. -------------------- ...все в мире относительно |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Не скажу.
Дело в том, что хороший стиль и низкоуровневая оптимизация часто несовместимы. И если рассматривать вопрос с точки зрения стиля (о чем и шла до сих пор речь в топике) то оптимизация тут вообще не при чем. А если нужна оптимизация, то код будет ненаглядным, а зачастую просто уродливым, хоть в нем все индексы будут с нуля. Суп отдельно, мухи отдельно. Это сообщение отредактировал(а) bems - 18.11.2006, 12:47 -------------------- Обижено школьников: 8 |
|||
|
||||
| ShadeSt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 256 Регистрация: 9.8.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 7 |
Итак мнения свелись к двум вариантам:
1 - отрицательные индексы - это зло 2 - если с ними логика программы "прозрачнее" то использование разрешено. Ну а вообще, на сколько я всегда знал программа пишется для программиста, т.е. что-бы после тебя мог прийти человек, сесть, посмотреть и понять все что надо, а не разбираться в абы как написанном коде.. но это высказывание, по сути, больше относится к комментариям, отступам и прочим элементам форматирования. Поэтому видимо ответ на вопрос сводится к совмещению мнений: "Отрицательные индексы - это зло, но в особо редких случаях, когда логика программы, при их использовании, становиться понятнее для программиста, использование отрицательных индексов разрешается" Причем, на сколько я смог понять, использование отр. индексов напрямую зависит от задачи, которую неоходимо реализовать. Хотя задачи, непосредственно требующие использования отрицательных индексов, на практике встречаются редко, и все их можно модифицировать таким образом, что бы избавиться от использования отр. индексов. -------------------- It's nice to be importand, but it's more importand to be nice © Scooter |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |