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

std::map::erase

Материал из cppreference.com

<metanoindex/>

 
 
 
std::map
Функции элементы
Доступ к элементам
Итераторы
Ёмкость
Модификаторы
(C++17)
Просмотр
Наблюдатели
Функции, не являющиеся элементами
(C++20)
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Принципы вывода (C++17)
 
<tbody> </tbody>
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::map<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 функция-элемент) [править]