Пространства имён
Варианты
Действия

std::multimap::erase

Материал из cppreference.com
< cpp‎ | container‎ | multimap

 
 
 
 
void erase( iterator position );
iterator erase( const_iterator position );
(1) (до C++11)
(начиная с C++11)
void erase( iterator first, iterator last );
iterator erase( const_iterator first, const_iterator last );
(2) (до C++11)
(начиная с C++11)
size_type erase( const key_type& key );
(3)
Удаляет указанные элементы из контейнера.
Оригинал:
Removes specified elements from the container.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
Удаляет элемент pos.
Оригинал:
Removes the element at pos.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Удаляет элементы в диапазоне [first; last).
Оригинал:
Removes the elements in the range [first; last).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Удаляет все элементы с ключевыми key значение
Оригинал:
Removes all elements with the key value key
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Указатели и итераторы к удалённым элементам становятся недействительными. Другие итераторы и указатели остаются без изменений.

Содержание

[править] Параметры

pos
итератор на элемент для удаления
Оригинал:
iterator to the element to remove
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
first, last
диапазон элементов для удаления
Оригинал:
range of elements to remove
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
key
Ключевое значение элементов для удаления
Оригинал:
key value of the elements to remove
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возвращаемое значение

1-2)
Iterator, следующих за последним удаленным элементом.
Оригинал:
Iterator following the last removed element.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Количество элементов удалены.
Оригинал:
Number of elements removed.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Сложность

1) Amortized constant
2) log(a.size()) + std::distance(first, last)
3) log(a.size()) + a.count(k)

[править] Пример

#include <map>
#include <iostream>
int main()
{
    std::multimap<int, std::string> c = {{1, "one"}, {2, "two"}, {3, "three"},
                                    {4, "four"}, {5, "five"}, {6, "six"}};
 
    // удалить все нечетные элементы из c
    for(auto it = c.begin(); it != c.end(); ) {
        if(it->first % 2 == 1)
            it = c.erase(it);
        else
            ++it;
    }
 
    for(auto& p : c) {
        std::cout << p.second << ' ';
    }
}

Вывод:

two four six


[править] См. также

очищает содержимое
(public функция-элемент) [править]