◐ Shell
clean mode source ↗

std::map::erase — cppreference.com

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

<metanoindex/>

<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 << ' ';
    }
}

Вывод:

См. также