Поделиться через


map Class

Используется для хранения и извлечения данных из коллекции, в которой каждый элемент пары, а данные и имеет значение ключа.Значение уникального ключа и автоматически используется для сортировки данных.

Значение элемента в сопоставлении можно изменить напрямую.Значение ключа константой и не может быть изменено.Вместо этого значения ключей, связанных с элементами старой должны удаляться, а новые значения ключа необходимо вставить для новых элементов.

template <
   class Key, 
   class Type, 
   class Traits = less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class map

Параметры

  • Key
    Ключевой тип данных, сохраняемых в сопоставлении.

  • Type
    Тип данных элементов, сохраняемых в сопоставлении.

  • Traits
    Тип, который предоставляет объект функции, можно сравнивать значения 2 элемента в качестве ключей сортировки для определения относительный порядок в сопоставлении.Этот аргумент является необязательным и бинарный предикат less<Key> значение по умолчанию.

  • Allocator
    Тип, представляющий сохраненный объект распределителя, инкапсулирующий информацию о выделении памяти и освобождение сопоставления.Этот аргумент является необязательным и значение по умолчанию allocator<pair<constKey*,* Type> >.

Заметки

Класс сопоставления (STL) стандартной библиотеки шаблонов выглядит следующим образом:

  • Контейнер переменного размера, эффективно извлекает значения элемента на основе связанных значений ключа.

  • Reversible, поскольку он предоставляет итераторы двунаправленные для получения его элементы.

  • Сортируемый, поскольку элементы упорядочены в соответствии с значениями ключа указанной функции сравнения.

  • Уникальным образом.поскольку каждое из его элементов должен иметь уникальный ключ.

  • Попарного ассоциативный контейнер, поскольку его значений данных элемента определяется из своих значений ключа.

  • Класс шаблона, поскольку он предоставляет функции универсален и независимые элемента или типа ключа.Типы данных, используемые для элементов и ключей определяются как параметры в шаблоне класса вместе с функцией и распределителем сравнения.

Итератор, предоставляемого классом сопоставления двунаправленный итератор, но функции-члена класса вставка и сопоставление, версии, которые принимают в качестве параметров шаблона более предоставляет итератор ввода, которого требования к функции, чем элементы гарантированные классом двунаправленных итераторов.Различные связанные понятия итератора уточнениями в их функции.Каждое понятие итератора имеет собственный набор требований и алгоритмы, которые работают с ним должны выполняться только те требования.Итератор ввода может быть разыменован для обращения к определенному объекту и может быть инкрементирован следующему итератору в последовательности.

Рекомендуется найдена выбор типа контейнера типа поиска и вставки, требуемую приложением.Ассоциативные контейнеры оптимизированы для операций поиска, вставки и удаления.Функции-члены, явно поддерживают такие операции выполняют во времени, в среднем пропорционально натуральному логарифму числа элементов в контейнере.Вставка элементов не итераторы, что и удаление элементов только что эти итераторы, указывающий специально для удаленных элементов.

Рекомендуется сделать сопоставлением ассоциативный контейнер варианта при условия, которые связывают значения с ключами удовлетворяются приложением.Модель для этого типа структуры упорядоченный список уникальных, выполненных ключевых слов, связанных строковых значений, содержащих определения.Если ключевое слово имеет более одного правильное определение, таким образом, что ключ не является уникальным, то multimap будет контейнером варианта.Если просто хранится список ключевых слов, набор будет соответствующим контейнером.Если несколько ключевых слов вхождения разрешены, multiset будет правильным.

Сопоставление упорядочивает элементы его элементы управления путем вызова, сохраненный объект функции типа key_compare.Этот сохраненный объект функции сравнения, которая доступна, вызвав метод key_comp.Как правило, все 2 конкретного элемента сравниваются, чтобы определить, является ли один меньше другой или ли они эквивалентны.По мере того, как все элементы сравнения, создается упорядоченная последовательность неравнозначных элементов.

ПримечаниеПримечание

Функция сравнения бинарный предикат, который вызывает строгого слабое упорядочение в стандартном математически смысле.Бинарный предикат f(x,y) объект функции с 2 объекта x и y аргумента и возвращаемое значение true или false.Упорядочение вызванная на наборе строгие слабые приказывающ бинарный irreflexive, если предикат антисимметрический и транзитивн, и если эквивалентность транзитивна, где 2 объекта x и y определены, чтобы быть эквивалентны, если f(x,y) и f(y,x) и false.Если более строгое условие равенства между ключами заменяет любую из эквивалентности, порядок будет полным (в том смысле, что все элементы упорядочены по одного другого) и соответствующие ключи, которые будут indiscernible из одного другого.

Члены

s44w4h2s.collapse_all(ru-ru,VS.110).gifКонструкторы

map

Создает список определенного размера или с элементами конкретного значения или с определенным allocator или как копию другого сопоставления.

s44w4h2s.collapse_all(ru-ru,VS.110).gifОпределения типов

allocator_type

Typedef для объекта класса allocator для сопоставления.

const_iterator

Typedef для двунаправленного итератора, который может считывать элемент const в сопоставлении.

const_pointer

Typedef для указателя на элемент const в сопоставлении.

const_reference

Typedef для ссылки на элемент const в сопоставлении для чтения и выполнения операций const.

const_reverse_iterator

Тип, предоставляющий двунаправленный итератор, который может считывать любой элемент const в сопоставлении.

difference_type

Typedef знакового целого числа для числа элементов сопоставления в диапазоне между элементами указало к итераторам.

итератор

Typedef для двунаправленного итератора, который может считывать и изменять любой элемент в сопоставлении.

key_compare

Typedef для объекта функции, можно сравнивать 2 ключа сортировки для определения относительный порядок 2 элементов в сопоставлении.

key_type

Typedef для ключа, хранящегося в каждом элементе сопоставления.

mapped_type

Typedef для данных, хранящихся в каждом элементе сопоставления.

указатели

Typedef для указателя на элемент const в сопоставлении.

Ссылка

Typedef для ссылки на панель элементов, хранящихся в сопоставлении.

reverse_iterator

Typedef для двунаправленного итератора, который может считывать и изменять элемент в обращенном сопоставлении.

size_type

Typedef целого числа без знака для числа элементов в сопоставлении

value_type

Typedef для типа объекта, хранящейся в виде элемента в сопоставлении.

s44w4h2s.collapse_all(ru-ru,VS.110).gifМетоды

map::at

Находит элемент с указанным значением ключа.

begin

Возвращает итератор, указывающей на первый элемент в сопоставлении.

map::cbegin

Возвращает итератор константного выражения, указывающего на первый элемент в сопоставлении.

map::cend

Возвращает итератор за - элемент const.

clear

Удаляет все элементы сопоставления.

count

Возвращает количество элементов в сопоставлении ключ которого соответствует ключу, указанному в параметре.

map::crbegin

Возвращает итератор const, указывающим на первый элемент в обращенном сопоставлении.

map::crend

Возвращает итератор const, указывающим на расположение после последнего элемента в обращенном сопоставлении.

map::emplace

Вставляет элемент построен на месте в сопоставление.

map::emplace_hint

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

empty

Возвращает значение true, если сопоставление пустым.

end

Возвращает итератор за - элемент.

equal_range

Возвращает пару итераторов.Первый итератор парами указывает на первый элемент в map с ключом, который больше, чем указанный ключ.Второй итератор парами указывает на первый элемент в map с ключом, равно или больше значения ключа.

erase

Удаляет элемент или набор элементов в сопоставлении из заданных позиций.

find

Возвращает итератор, указывающим на расположение элемента в сопоставлении с ключевым равно указанному ключу.

get_allocator

Возвращает копию объекта allocator, который используется для построения сопоставление.

вставка

Вставляет элемент или набор элементов на сопоставление в указанной позиции.

key_comp

Возвращает копию объекта сравнения, который используется для упорядочивания ключи в сопоставлении.

lower_bound

Возвращает итератор на первый элемент в сопоставлении, имеющее значение ключа, равно или больше одно из указанного ключа.

max_size

Возвращает максимальную длину сопоставления.

rbegin

Возвращает итератор, указывающим на первый элемент в обращенном сопоставлении.

rend

Возвращает итератор, указывающим на расположение после последнего элемента в обращенном сопоставлении.

size

Возвращает количество элементов в сопоставлении.

буфер обмена

Меняет местами элементы 2 сопоставлений.

upper_bound

Возвращает итератор на первый элемент в сопоставлении, имеющее значение ключа, более чем одно из указанного ключа.

value_comp

Извлекает копию объекта сравнения, который используется для упорядочивания значений элементов в сопоставлении.

s44w4h2s.collapse_all(ru-ru,VS.110).gifОператоры

operator[]

Вставляет элемент в сопоставление с указанным значением ключа.

map::operator=

Заменяет элементы сопоставления копией другого сопоставления.

Требования

Заголовок: <map>

Пространство имен: std

См. также

Ссылки

Потокобезопасность в стандартной библиотеке C++

Стандартная библиотека шаблонов

Другие ресурсы

члены сопоставления

члены<сопоставление>