std::unordered_multiset::end, std::unordered_multiset::cend
Материал из cppreference.com
iterator end() noexcept; |
(начиная с C++11) | |
const_iterator end() const noexcept; |
(начиная с C++11) | |
const_iterator cend() const noexcept; |
(начиная с C++11) | |
Возвращает итератор на элемент, следующий за последним элементом unordered_multiset.
Этот элемент существует лишь условно, попытка доступа к нему приведёт к неопределённому поведению.
Параметры
(нет)
Возвращаемое значение
Итератор на элемент, следующий за последним элементом.
Сложность
Константная
Примечания
Поскольку и iterator, и const_iterator являются константными итераторами (и даже в реальности могут быть одного и того же типа), невозможно изменить элементы контейнера через итераторы, возвращаемые любыми из данных функций-членов.
Пример
Запустить этот код
#include <iostream>
#include <iterator>
#include <string>
#include <unordered_set>
int main() {
const std::unordered_multiset<std::string> words = {
"слова", "чтобы", "их", "считать",
"считать", "эти", "слова"
};
// порядок итерации зависит от реализации:
for (auto it = words.begin(); it != words.end(); ) {
auto cnt = words.count(*it);
std::cout << *it << ":\t" << cnt << '\n';
std::advance(it, cnt); // все cnt элементов обладают одинаковыми ключами
}
}
Возможный вывод:
считать: 2
эти: 1
их: 1
чтобы: 1
слова: 2
См. также
(C++11) |
возвращает итератор на начало (public функция-элемент) |