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 из одного другого. |
Члены
Конструкторы
Создает список определенного размера или с элементами конкретного значения или с определенным allocator или как копию другого сопоставления. |
Определения типов
Typedef для объекта класса allocator для сопоставления. |
|
Typedef для двунаправленного итератора, который может считывать элемент const в сопоставлении. |
|
Typedef для указателя на элемент const в сопоставлении. |
|
Typedef для ссылки на элемент const в сопоставлении для чтения и выполнения операций const. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать любой элемент const в сопоставлении. |
|
Typedef знакового целого числа для числа элементов сопоставления в диапазоне между элементами указало к итераторам. |
|
Typedef для двунаправленного итератора, который может считывать и изменять любой элемент в сопоставлении. |
|
Typedef для объекта функции, можно сравнивать 2 ключа сортировки для определения относительный порядок 2 элементов в сопоставлении. |
|
Typedef для ключа, хранящегося в каждом элементе сопоставления. |
|
Typedef для данных, хранящихся в каждом элементе сопоставления. |
|
Typedef для указателя на элемент const в сопоставлении. |
|
Typedef для ссылки на панель элементов, хранящихся в сопоставлении. |
|
Typedef для двунаправленного итератора, который может считывать и изменять элемент в обращенном сопоставлении. |
|
Typedef целого числа без знака для числа элементов в сопоставлении |
|
Typedef для типа объекта, хранящейся в виде элемента в сопоставлении. |
Методы
Находит элемент с указанным значением ключа. |
|
Возвращает итератор, указывающей на первый элемент в сопоставлении. |
|
Возвращает итератор константного выражения, указывающего на первый элемент в сопоставлении. |
|
Возвращает итератор за - элемент const. |
|
Удаляет все элементы сопоставления. |
|
Возвращает количество элементов в сопоставлении ключ которого соответствует ключу, указанному в параметре. |
|
Возвращает итератор const, указывающим на первый элемент в обращенном сопоставлении. |
|
Возвращает итератор const, указывающим на расположение после последнего элемента в обращенном сопоставлении. |
|
Вставляет элемент построен на месте в сопоставление. |
|
Вставляет элемент построен на месте в сопоставление с подсказкой размещения. |
|
Возвращает значение true, если сопоставление пустым. |
|
Возвращает итератор за - элемент. |
|
Возвращает пару итераторов.Первый итератор парами указывает на первый элемент в map с ключом, который больше, чем указанный ключ.Второй итератор парами указывает на первый элемент в map с ключом, равно или больше значения ключа. |
|
Удаляет элемент или набор элементов в сопоставлении из заданных позиций. |
|
Возвращает итератор, указывающим на расположение элемента в сопоставлении с ключевым равно указанному ключу. |
|
Возвращает копию объекта allocator, который используется для построения сопоставление. |
|
Вставляет элемент или набор элементов на сопоставление в указанной позиции. |
|
Возвращает копию объекта сравнения, который используется для упорядочивания ключи в сопоставлении. |
|
Возвращает итератор на первый элемент в сопоставлении, имеющее значение ключа, равно или больше одно из указанного ключа. |
|
Возвращает максимальную длину сопоставления. |
|
Возвращает итератор, указывающим на первый элемент в обращенном сопоставлении. |
|
Возвращает итератор, указывающим на расположение после последнего элемента в обращенном сопоставлении. |
|
Возвращает количество элементов в сопоставлении. |
|
Меняет местами элементы 2 сопоставлений. |
|
Возвращает итератор на первый элемент в сопоставлении, имеющее значение ключа, более чем одно из указанного ключа. |
|
Извлекает копию объекта сравнения, который используется для упорядочивания значений элементов в сопоставлении. |
Операторы
Вставляет элемент в сопоставление с указанным значением ключа. |
|
Заменяет элементы сопоставления копией другого сопоставления. |
Требования
Заголовок: <map>
Пространство имен: std
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++
Стандартная библиотека шаблонов