std::unordered_map::erase
Материал из cppreference.com
< cpp | container | unordered map
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик 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()
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 << ' '; } }
Возможный вывод:
two four six
[править] См. также
(C++11) |
очищает содержимое (public функция-элемент) |