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

Range (computer programming)

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

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

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

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

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

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

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

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

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

Смотрите также

использованная литература

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