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

std::unordered_set::erase

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

 
 
 
std::unordered_set
Функции-члены
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
unordered_set::erase
Модификаторы
unordered_set::erase
Поиск
Оригинал:
Lookup
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Ковш интерфейс
Оригинал:
Bucket interface
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Hash политики
Оригинал:
Hash policy
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Наблюдатели
 
iterator erase( const_iterator position );
(1) (начиная с C++11)
iterator erase( const_iterator first, const_iterator last );
(2) (начиная с C++11)
size_type erase( const key_type& key );
(3) (начиная с C++11)
Удаляет указанные элементы из контейнера.
Оригинал:
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) Average case: constant, worst case: a.size()
2) Average case: std::distance(first, last), worst case: a.size()
3) Average case: a.count(key), worst case: a.size()

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

#include <[[:Шаблон:cpp/container/get header]]>
#include <iostream>
int main()
{
    std::unordered_set<int> c = {1, 2, 3, 4, 5, 6, 7, 8, 9};
 
    // удалить все нечетные элементы из c
    for(auto it = c.begin(); it != c.end(); ) {
        if(*it % 2 == 1)
            it = c.erase(it);
        else
            ++it;
    }
 
    for(int n : c) {
        std::cout << n << ' ';
    }
}

Возможный вывод:

2 4 6 8


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

Очищает контейнер
(public функция-член) [править]