|
Программирование >> Операторы преобразования типа
Большое спасибо Грегу Колвииу (Greg Colvin) и Дейву Абрахамсу (Dave Abrahams) за предоставленную таблицу. ОТ - тип элементов контейнера. Для строк value передается по значению. О Поддерживается векторами, деками, списками, строками. контейнер: -.нонтейнер (Inputlterator beg. Inputlterator end, const Allocator& alloc) О Создает контейнер, инициализированный всеми элементами из интервала beg,end) и использующий модель памяти alloc. О Функция оформлена в виде птаблонной функции класса (см. с. 28). Это означает, что элементы исходного интервала могут относиться к произвольному типу, который может быть преобразован к типу элементов контейнера. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. контейнер: : контейнер (Inputlterator beg. Inputlterator end. const CompFunc& op. const Allocators alloc) О Создаст коитейиер с критерием сортировки ор, инициализированный всеми элементами из интервала [beg,end) и 1ГСпо.льзующий модель памяти alloc. О Функция оформлена в виде шаблонной функции класса (см. с. 28). Это означает, что элементы исходного интервала могут относиться к произвольному типу, который может быть преобразован к типу элементов контейнера. О Критерий сортировки должен определять строгую квазиупорядочепность (см. с. 184). О Поддерживается множествами, мультимнолсествамн, отображениями, мультиотображениями. Обработка исключений в контейнерах STL Как упоминалось на с. 148, контейнеры предоставляют разный уровень гарантий в отношении исключений. Стандартная библиотека С++ гарантирует отсутствие утечки ресурсов и нарушения контейнерных инвариантов в отношении исключения, однако некоторые операции предоставляют более твердые гарантии (при условии, что аргументы удовлетворяют некоторым условиям): они могут гарантировать транзакционную безопасность (принятие/откат) и даже то, что они никогда не генерируют исключений. В табл. 6.35 перечислены все операции, для которых предоставляются такие гарантии. Таблица 6.35. Контейнерные операции с особыми гарантиями в отношении исключений
Таблица 6.35 (продолжение)
Векторы, деки и списки также предоставляют особые гарантии для resize(). В соответствии с ними последствия от вызова resize() эквивалентны либо вызову erase(), либо вызову insert(), либо отсутствию операции: void нонтейнер:-.resize (size type num, Т value = ТО) if (num > SizeO) { insert (endO. nu[ii-size(), value): else if (num < sizeO) { erase (beginC)+nu[ii, endO); Иначе говоря, предоставляемые гарантии определяются комбинацией гарантий для erase() и insert() (см. с. 249).
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |