Исправление zurg, (текущая версия) :
UB с индексами ровно столько же если не больше
чё, какие? выход за диапазон - стоимость проверки давно на уровне погрешности; указатели же даже сравнить просто так нельзя, не сверяясь с стандартом
операция ptr[i] дороже чем *ptr.
одинаково же, если конечно автор не выпендривался а написал по стандарту, без уб и включил нормально оптимизации компилятора
если только аффтор кода на индексах с детства занимается гимнастикой, тады да.
да какая разница кроме того что с индексами меньше мусорных звёздочёк, что особенно заметно на математическом коде
К индексу нужен указатель, т.е. памяти уходит больше.
в споре индексы vs указатели обычно подразумевается массивы(хэшмапы и тп) vs самоссылающиеся структуры на указателях (пресловутые списки), соответсвенно с индексами или не надо вообще ничего хранить или подобрать меньший тип(а не фиксированные 8 байт) под реальное количество элементов. Вообще, зачем таким быстрым указателям вдруг понадобились костыли в виде аж целого ключевого слова restrict и прочие убэшные стрикт алиасинги? Место сырым указателям в ffi и интеропе с операционкой т.е. глубоко внутри библиотечных контейнеров или в ембедеде - дёргать фиксировонные численные адреса- собственно всё, для прикладного алгоритма есть быстрые безопасные ссылки и индексы. Как-то так
Исправление zurg, :
UB с индексами ровно столько же если не больше
чё, какие? выход за диапазон - стоимость проверки давно на уровне погрешности; указатели же даже сравнить просто так нельзя, не сверяясь с стандартом
операция ptr[i] дороже чем *ptr.
одинаково же, если конечно автор не выпендривался а написал по стандарту, без уб и включил нормально оптимизации компилятора
если только аффтор кода на индексах с детства занимается гимнастикой, тады да.
да какая разница кроме того что с индексами меньше мусорных звёздочёк, что особенно заметно на математическом коде
К индексу нужен указатель, т.е. памяти уходит больше.
в споре индексы vs указатели обычно подразумевается массивы(хэшмапы и тп) vs самоссылающиеся структуры на указателях (пресловутые списки), соответсвенно с индексами или не надо вообще ничего хранить или подобрать меньший тип под реальное количество элементов. Вообще, зачем таким быстрым указателям вдруг понадобились костыли в виде аж целого ключевого слова restrict и прочие убэшные стрикт алиасинги? Место сырым указателям в ffi и интеропе с операционкой т.е. глубоко внутри библиотечных контейнеров или в ембедеде - дёргать фиксировонные численные адреса- собственно всё, для прикладного алгоритма есть быстрые безопасные ссылки и индексы. Как-то так
Исправление zurg, :
UB с индексами ровно столько же если не больше
чё, какие? выход за диапазон - стоимость проверки давно на уровне погрешности; указатели же даже сравнить просто так нельзя, не сверяясь с стандартом
операция ptr[i] дороже чем *ptr.
одинаково же, если конечно автор не выпендривался а написал по стандарту, без уб и включил нормально оптимизации компилятора
если только аффтор кода на индексах с детства занимается гимнастикой, тады да.
да какая разница кроме того что с индексами меньше мусорных звёздочёк, что особенно заметно на математическом коде
К индексу нужен указатель, т.е. памяти уходит больше.
в споре индексы vs указатели обычно подразумевается массивы(хэшмапы и тп) vs самоссылающиеся структуры на указателях (пресловутые списки), соответсвенно с индексами или не надо вообще ничего хранить или подобрать меньший тип под реальное количество элементов. Вообще, зачем таким быстрым указателям вдруг понадобились костыли в виде аж целого ключевого слова restrict и прочие убэшные стрикт алиасинги? Место сырым указателям в ffi и интеропе с операционкой т.е. глубоко внутри библиотечных контейнеров или в ембедеде - дёргать фиксировонные численные адреса- собственно всё, для прикладного алгоритма есть быстрые безопасные ссылки и индексы.
Исходная версия zurg, :
UB с индексами ровно столько же если не больше чё, какие? выход за диапазон - стоимость проверки давно на уровне погрешности; указатели же даже сравнить просто так нельзя, не сверяясь с стандартом операция ptr[i] дороже чем *ptr. одинаково же, если конечно автор не выпендривался а написал по стандарту, без уб и включил нормально оптимизации компилятора
если только аффтор кода на индексах с детства занимается гимнастикой, тады да. да какая разница кроме того что с индексами меньше мусорных звёздочёк, что особенно заметно на математическом коде К индексу нужен указатель, т.е. памяти уходит больше. в споре индексы vs указатели обычно подразумевается массивы(хэшмапы и тп) vs самоссылающиеся структуры на указателях (пресловутые списки), соответсвенно с индексами или не надо вообще ничего хранить или подобрать меньший тип под реальное количество элементов. Вообще, зачем таким быстрым указателям вдруг понадобились костыли в виде аж целого ключевого слова restrict и прочие убэшные стрикт алиасинги? Место сырым указателям в ffi и интеропе с операционкой т.е. глубоко внутри библиотечных контейнеров или в ембедеде - дёргать фиксировонные численные адреса- собственно всё, для прикладного алгоритма есть быстрые безопасные ссылки и индексы.