Требования распределителей (Allocator requirements)
Требования распределителей (Allocator requirements)
В следующей таблице мы предполагаем, что X - класс распределителей для объектов типа T, a - значение X, n имеет тип X::size_type, p имеет тип X::pointer, r имеет тип X::reference и s имеет тип X::const_reference.
Все операции c распределителями, как ожидается, сводятся к постоянному времени.
Таблица 7. Требования распределителей
выражение возвращаемый тип утверждение/примечание состояние до/после X::value_type Т - X::reference леводопустимое значение T (lvalue of T) - X::const_reference const lvalue of T - X::pointer указатель на тип T результатом operator* для значений X::pointer является reference. X::const_pointer указатель на тип const T результат operator* для значений X::const_pointer ? const_reference; это - тот же самый тип указателя, как X::pointer, в частности, sizeof(X::const_pointer)==sizeof(X::pointer). X:: size_type беззнаковый целочисленный тип тип, который может представлять размер самого большого объекта в модели памяти. X::difference_type знаковый целочисленный тип тип, который может представлять разность между двумя любыми указателями в модели памяти. X a; - примечание: предполагается деструктор. a.address(r) указатель *(a.address(r))==r. a.const_address(s) const_pointer *(a.address(s))==s. a.allocate(n) X::pointer память распределяется для n объектов типа T, но объекты не создаются. allocate может вызывать соответствующее исключение. a.deallocate(p) результат не используется все объекты в области, указываемой p, должны быть уничтожены до этого запроса. construct(p, a) void после: *p==a. destroy(p) void значение, указываемое p, уничтожается. a.init_page_size() X::size_type возвращённое значение - оптимальное значение для начального размера буфера данного типа. Предполагается, что если k возвращено функцией init_page_size, t - время конструирования для T, и u - время, которое требуется для выполнения allocate(k), тогда k*t будет намного больше, чем u. a.max_size() X::size_type наибольшее положительное значение X::difference_typepointer относится к категории модифицируемых итераторов произвольного доступа, ссылающихся на T. const_pointer относится к категории постоянных итераторов произвольного доступа, ссылающихся на T. Имеется определённое преобразование из pointer в const_pointer.
Для любого шаблона распределителя Alloc имеется определение для типа void. У Alloc‹void› определены только конструктор, деструктор и Alloc‹void›::pointer. Преобразования определены из любого Alloc‹T›::pointer в Alloc‹void›::pointer и обратно, так что для любого p будет p == Alloc‹T›::pointer(Alloc‹void›::pointer(p)).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
2. Требования
2. Требования Есть некоторые требования по поддержке ядром HTB и DSMARK, поддержке HTB и DSMARK в tc и самому tcng.В частности, поддержка HTB в ядре и tc абсолютно необходима, иначе вы не сможете воспользоваться советами, предоставляемыми данным руководством (обратите внимание на
2.2. Требования tc
2.2. Требования tc Команда tc является частью набора утилит iproute2. За общей документацией по iproute2, обращайтесь на сайт http://linux-ip.net/ и к руководству по iproute2. Само программное обеспечение доступно на FTP-архиве Алексея Кузнецова, но обычно они поставляются в виде пакетов с
Совет 10. Помните о правилах и ограничениях распределителей памяти
Совет 10. Помните о правилах и ограничениях распределителей памяти Распределители памяти первоначально разрабатывались как абстракция для моделей памяти, позволяющих разработчикам библиотек игнорировать различия между near- и far-указателями в некоторых 16-разрядных
Совет 11. Учитывайте область применения пользовательских распределителей памяти
Совет 11. Учитывайте область применения пользовательских распределителей памяти Итак, в результате хронометража, профилирования и всевозможных экспериментов вы пришли к выводу, что стандартный распределитель памяти STL (то есть allocator<T>) работает слишком медленно,
Системные требования
Системные требования Для пользования данной программой существуют следующие системные требования.• ПК с процессором Intel Pentium 200 или выше.• Операционная система Microsoft Windows XP/2000, Windows 98SE/ME (для работы с русским интерфейсом операционная система должна поддерживать
Требования
Требования Для гарантии совместной работы различные компоненты библиотеки должны удовлетворять некоторым основным требованиям. Требования должны быть общими, насколько это возможно, так что вместо высказывания "класс X должен определить функцию-член operator++() ", мы
Распределитель по умолчанию (The default allocator)
Распределитель по умолчанию (The default allocator) template ‹class T›class allocator {public: typedef T* pointer; typedef const T* const_pointer; typedef T& reference; typedef const T& const_reference; typedef T value_type; typedef size_t size_type; typedef ptrdiff_t difference_type; allocator(); ~allocator(); pointer address(reference x); const_pointer const_address(const_reference x); pointer allocate(size_type n); void deallocate(pointer
2.3. Требования к компьютеру
2.3. Требования к компьютеру Как уже говорилось, пакет Nero 8 является многофункциональным, и для работы со всеми его компонентами и возможностями компьютер должен быть достаточно мощным и оснащенным вспомогательным оборудованием. Не все это оборудование можно назвать
Требования к системе
Требования к системе AutoCAD 2008 может работать как в автономном режиме, так и в локальной сети. Для эффективной работы AutoCAD 2008 под управлением операционной системы Windows необходимы следующие программные и аппаратные средства:• процессор Intel® Pentium® IV;• операционные системы:
Системные требования
Системные требования Память на сервере (все платформы) Оценка памяти сервера включает множество факторов.* Работа сервера Firebird. Сервер Firebird осуществляет эффективное использование ресурсов сервера. Суперсервер (Superserver) после старта использует приблизительно 2 Мбайта
Требования к системе
Требования к системе AutoCAD может работать как в автономном режиме, так и в локальной сети. Для эффективной работы AutoCAD 2009 под управлением операционной системы Windows необходимы следующие программные и аппаратные средства:• процессор Intel® Pentium® IV;• операционные системы:
Требования
Требования Чтобы работать с примерами из этой книги, необходимо иметь на компьютере пакет программ Visual Studio 2005. Обратите внимание на то, что некоторые облегченные версии Visual Studio 2005 (в частности, Express-версии) не поддерживают разработки программ для мобильных компьютеров.
Требования к системе
Требования к системе Sound Forge 9.0 – довольно ресурсоемкое приложение. Процесс обработки звука, особенно нелинейные преобразования, серьезно нагружает центральный процессор, и от его производительности напрямую зависит скорость работы программы. Обрабатываемые данные
Аппаратные требования
Аппаратные требования Минимальные системные требования приводятся в официальной документации к программе, но это действительно минимальные требования. Очевидно, что чем выше быстродействие всех компонентов машины, тем быстрее работают на ней любые приложения, в том
Аппаратные требования
Аппаратные требования Аппаратные требования, предъявляемые к компьютеру при установке программы ArchiCAD, следующие:? процессоры – Intel Pentium 4, Intel Centrino, Intel Core Duo или совместимые; рекомендуемая тактовая частота – не менее 2 ГГц;? оперативная память – требуется 1 Гбайт; для