std::unordered_map::erase
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> 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 <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 функция-элемент) |