Программирование >>  Операторы преобразования типа 

1 ... 75 76 77 [ 78 ] 79 80 81 ... 239


О Обе версии вызывают деструкторы для удаляемых элементов.

О Это специализированные версии алгоритма uniqueQ (см. с. 375), оптимизированные для списков.

О Функции генерируют исгшючения только в том случае, если исключения генерируются при сравнении элементов.

О Поддерживаются списками.

void СПИСОК::splice (iterator pos. cnconh source)

О Перемещает все элементы source в *this и вставляет их в позиции итератора р05. О После вызова список source остается пустым.

О Если source и *this определяют одно и то же место в памяти, вызов приводит к непредсказуемым последствиям. Следовательно, при вызове необходимо убедиться в том, что список source отличается от текущего списка. Для перемещения элементов внутри списка применяется следующая форма функции splice().

О Перед вызовом необходимо убедиться в том, что итератор pos имеет допустимое значение; в противном случае вызов приводит к непредсказуемым последствиям.

О Функция не генерирует исключений.

void C/7WC0K::splice (iterator pos. список source. Iterator sourcePos)

О Перемещает элемент в позиции sourcePos списка source в *this и вставляет его в позиции итератора

О Список source и указатель *this могут определять одно и то же место в памяти. В этом случае элемент перемещается внутри списка.

О Если source - другой список, после выполнения операции он содержит на один элемент меньше.

О Перед вызовом необходимо убедиться в том, что pos представляет действительную позицию в *this, sourcePos является действительным итератором source, а значение sourcePos отлично от source.en6{)] в противном случае вызов приводит к непредсказуемым последствиям.

О Функция не генерирует исключений.

void C/7WC0K: :splice (iterator pos. списон source.

iterator sourceBeg. iterator sourceEnd)

О Перемещает элементы из интервала [sourceBeg,sourceEnd) внутри списка source в *this и вставляет их в позицию итератора pos.

О Список source и указатель *this могут определять одно и то же место в памяти. В этом случае позиция pos не должна быть частью перемещаемого интервала, а элементы перемещаются внутри списка.

О Если source - другой список, после вьшо.лнения операции ко.личество элементов в нем уменьшается.



Вторая версия unique() работоспособна только в системах с поддержкой шаблонных функций классов (см. с, 28).

Вторая версия nierge()pa6oTocnoco6Ha только н системах с лодлержкой шаблонных функцш! классов (см, с, 28).

О Перед вызовом необходимо убедиться в том, что pos представляет действительную позицию в *this, а sourceBeg и sourceEnd определяют действительный интервал в source; в противном случае вызов приводит к непредсказуемым последствиям.

О Функция не генерирует исключений.

void списон:;sort О

void СПИСОК::sort CCompFunc op)

О Обе версии сортируют элементы списка.

О Первая версия сортирует все элементы оператором <.

О Вторая форма сортирует все э.лементы списка, сравнивая элементы функцией ор:

opieleml .е]ет2)

О Порядок следования элементов с равными значениями сохраняется (если при вызове не было сгенерировано исключение).

О Это специализированные версии алгоритмов sort() и stable sort() (см. с. 389), оптимизированные для списков,

void список: -.тгде (список source)

void СЛИСОК::merge (список source. CompFunc op)

О Обе версии выполняют слияние элементов списков source и *this, О После вызова список source остается пустым.

О Если перед вызовом списки *this и source отсортированы по критерию < или ор, итоговый список тоже будет отсортирован. Строго говоря, стандарт требует, чтобы оба списка бьтли отсортированы перед вызовом, но на практике слияние также может выполняться и для несортированных списков. Тем не менее проведите дополнительную проверку, прежде чем выполнять слияние несортированных списков в своих программах.

О В первой форме используется оператор < в качестве критерия сортировки,

О Во второй форме используется необязательный критерий сортировки ор для сравнения двух элементов:

opieleml,elem2)

О Это специализированные версии алгоритма merge() (см. с. 40G), оптимизированные для списков.

void список::reverse О

О Переставляет элементы списка в обратном порядке.



О Это специализированная версия алгоритма reverse() (см. с. 379), оптимизированная для списков.

О Функция не генерирует исключении.

Поддержка распределителей памяти

Все контейнеры STL могут использоваться со специальной моделью памяти, определяемой объектом-распределителем (см. главу 15). Здесь перечислены функции, обеспечивающие поддержку распределителей.

В спецификации стандартных контейнеров обязательно требуется, чтобы все экземпляры типа распределителя были взаимозаменяемыми. Таким образом, память, выделенная одним экземпляром, может быть освобождена другим экземпляром того же типа. Следовательно, перемещение элементов (и перераспределение занимаемой ими памяти) между контейнерами одного типа не создает проблем.

Основные типы и функции распределителей

нонтейнер::al1ocator type О Тип распределителя.

О Поддержртвается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками.

allocatortype контейнер::get allocator С) const

О Возвращает модель памяти контейнера.

О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками.

Конструкторы с передачей необязательных параметров

explicit контейнер: -.контейнер (const Allocators alloc)

О Создает новый пустой контейнер, использующий модель памяти alloc.

О Поддерживается векторами, декамн, списками, множествами, мультимножествами, отображениями, мультиотображениямгг, строками,

контейнер: [контейнер (const CoiTipFunc& op. const Allocator& alloc)

О Создает новый пустой контейнер с критерием сортировки ор, испо.льзующий модель памяти alloc.

О Критерий сортировки должен определять строгую квазиупорядоченность (см. с. 184).

О Поддерживается множествами, мультимножествами, отображениями, мультиотображениями.

контейнер:[контейнер (sizetype пит. const Т& value.

const Allocators alloc)

О Создает контейнер с пит элементами, испо.льзу1ощий модель памяти alloc. О Э.аементы создаются как копии value.



1 ... 75 76 77 [ 78 ] 79 80 81 ... 239

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика