Jump to content

Диапазон (компьютерное программирование)

(Перенаправлено с Range (информатика) )

В информатике термин «диапазон» может относиться к одной из трех вещей:

  1. Возможные значения, которые могут храниться в переменной .
  2. Верхняя и нижняя границы массива .
  3. Альтернатива итератору .

Диапазон переменной

[ редактировать ]

Диапазон переменной задается как набор возможных значений, которые может содержать эта переменная. В случае целого числа определение переменной ограничивается только целыми числами, а диапазон будет охватывать все числа в пределах этого диапазона (включая максимальное и минимальное). Например, диапазон переменной со знаком 16-битной целочисленной — это все целые числа от –32 768 до +32 767.

Диапазон массива

[ редактировать ]

Когда массив индексируется численно, его диапазон представляет собой верхнюю и нижнюю границу массива. В зависимости от среды, предупреждение, фатальное исключение если программа попытается получить доступ к элементу массива, находящемуся за пределами диапазона, произойдет или непредсказуемое поведение. В некоторых языках программирования , таких как C , массивы имеют фиксированную нижнюю границу (ноль) и содержат данные в каждой позиции вплоть до верхней границы (поэтому массив из 5 элементов будет иметь диапазон от 0 до 4). В других, таких как PHP , массив может иметь дыры, в которых не определен ни один элемент, и поэтому массив с диапазоном от 0 до 4 будет содержать до 5 элементов (и минимум 2).

Диапазон как альтернатива итератору

[ редактировать ]

Другое значение диапазона в информатике — альтернатива итератору . В этом смысле диапазон определяется как «пара итераторов начала/конца, упакованных вместе». [1] Это утверждается [1] что «диапазоны являются превосходной абстракцией» (по сравнению с итераторами) по нескольким причинам, включая лучшую безопасность.

В частности, такие диапазоны поддерживаются в C++20 , [2] Повышение библиотеки C++ [3] и D. стандартная библиотека [4]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Андрей Александреску (6 мая 2009 г.). «Итераторы должны уйти» (PDF) . БустКон 2009 . Проверено 29 июля 2014 г.
  2. ^ cppreference
  3. ^ Документация Boost.Range
  4. ^ D Модуль библиотеки времени выполнения Phobos std.range


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c84fed98e022537a1ca8302b8dc5e512__1679206020
URL1:https://arc.ask3.ru/arc/aa/c8/12/c84fed98e022537a1ca8302b8dc5e512.html
Заголовок, (Title) документа по адресу, URL1:
Range (computer programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)