std::unordered_map::erase — cppreference.com
Материал из cppreference.com
<metanoindex/>
<tbody> </tbody>
|
|
(1) | (начиная с C++11) |
|
|
(2) | (начиная с C++11) |
|
|
(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 <unordered_map> #include <iostream> int main() { std::unordered_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 << ' '; } }
Возможный вывод: