Итераторы произвольного доступа (Random access iterators)
Итераторы произвольного доступа (Random access iterators)
Класс или встроенный тип X удовлетворяет требованиям итераторов произвольного доступа, если к таблице, которая определяет двунаправленные итераторы, мы добавим следующие строки:
Таблица 6: Требования итератора произвольного доступа (в дополнение к двунаправленному итератору)
выражение возвращаемый тип семантика исполнения утверждение/примечание состояние до/после r += n X& {Distance m = n; if(m ›= 0) while(m--) ++r; else while(m++) --r; return r;} - a + n n + a X {X tmp = a; return tmp += n;} a + n == n + a. r -= n X& return r += -n; - a - n X {X tmp = a; return tmp -= n;} - b - a Distance - до: существует значение n типа Distance такое, что a+n=b. b==a+(b-a). a[n] обратимый в T *(a + n) - a ‹ b обратимый в bool b - a › 0 ‹ - это отношение полного упорядочения a › b обратимый в bool b ‹ a › - это отношение полного упорядочения, противоположное ‹. a ›= b обратимый в bool !(a ‹ b) - a ‹= b обратимый в bool !(a › b) -Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
12.6.2. Функции POSIX: random() и srandom()
12.6.2. Функции POSIX: random() и srandom() BSD 4.3 ввело random() и сопровождающие ее функции. Эти функции используют намного более подходящий генератор случайных чисел, который возвращает 31-разрядное значение. Теперь они входят в расширение XSI, стандартизованное POSIX:#include <stdlib.h> /* XSI */long
Итераторы ввода (Input iterators)
Итераторы ввода (Input iterators) Класс или встроенный тип X удовлетворяет требованиям итератора ввода для значимого типа T, если справедливы следующие выражения:Таблица 2. Требования итератора ввода выражение возвращаемый тип семантика исполнения утверждение/примечание
Итераторы вывода (Output iterators)
Итераторы вывода (Output iterators) Класс или встроенный тип X удовлетворяет требованиям итератора вывода, если справедливы следующие выражения:Таблица 3. Требования итератора вывода выражение возвращаемый тип семантика исполнения утверждение/примечание состояние до/после
Последовательные итераторы (Forward iterators)
Последовательные итераторы (Forward iterators) Класс или встроенный тип X удовлетворяет требованиям последовательного итератора, если справедливы следующие выражения:Таблица 4. Требования последовательного итератора выражение возвращаемый тип семантика исполнения
Двунаправленные итераторы (Bidirectional iterators)
Двунаправленные итераторы (Bidirectional iterators) Класс или встроенный тип X удовлетворяет требованиям двунаправленного итератора, если к таблице, которая определяет последовательные итераторы, мы добавим следующие строки:Таблица 5. Требования двунаправленного итератора (в
Перетасовать (Random shuffle)
Перетасовать (Random shuffle) template ‹class RandomAccessIterator›void random_shuffle(RandomAccessIterator first, RandomAccessIterator last);template ‹class RandomAccessIterator, class RandomNumberGenerator›void random_shuffie(RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator& rand);random_shuffle переставляет элементы в диапазоне [first, last) с равномерным распределением.
Обратные итераторы (Reverse iterators)
Обратные итераторы (Reverse iterators) Двунаправленные итераторы и итераторы произвольного доступа имеют соответствующие адаптеры обратных итераторов, которые выполняют итерации через структуру данных в противоположном направлении.Они имеют те же самые сигнатуры, как и
Итераторы вставки (Insert iterators)
Итераторы вставки (Insert iterators) Чтобы было возможно иметь дело с вставкой таким же образом, как с записью в массив, в библиотеке обеспечивается специальный вид адаптеров итераторов, называемых итераторами вставки (insert iterators). С обычными классами итераторовwhile (first!= last) *result++ =
8.2. Функция access(): проверка прав доступа к файлу
8.2. Функция access(): проверка прав доступа к файлу Функция access() определяет, имеет ли вызывающий ее процесс право доступа к заданному файлу. Функция способна проверить любую комбинацию привилегий чтения, записи и выполнения, а также факт существования файла.Функция access()
Отыскание произвольного элемента в сортирующем дереве
Отыскание произвольного элемента в сортирующем дереве Теперь осталось решить первоначальную проблему: эффективно найти элемент в сортирующем дереве. Эта проблема кажется неразрешимой - сортирующее дерево не содержит никакой вспомогательной информации, поскольку оно
Выполнение произвольного кода
Выполнение произвольного кода Для плохо защищенных систем все текущие версии Firebird предоставляют возможность выполнения произвольного кода с помощью внешних функций, фильтров BLOB и реализаций пользовательских наборов символов. Такие внешние модули выполняются в том же
9.6. $RANDOM: генерация псевдослучайных целых чисел
9.6. $RANDOM: генерация псевдослучайных целых чисел $RANDOM -- внутренняя функция Bash (не константа), которая возвращает псевдослучайные целые числа в диапазоне 0 - 32767. Функция $RANDOM не должна использоваться для генераци ключей
Random’s Flash&Backup
Random’s Flash&Backup В качестве примера рассмотрим программу Random’s Flash&Backup. Эта сервисная программа для телефонов Motorola семейства P2K, созданная независимым разработчиком, демонстрирует все типичные основные возможности программ такого рода:• создание/восстановление