std::multiset::end, std::multiset::cend
Материал из cppreference.com
iterator end(); |
(до C++11) | |
iterator end() noexcept; |
(начиная с C++11) | |
const_iterator end() const; |
(до C++11) | |
const_iterator end() const noexcept; |
(начиная с C++11) | |
const_iterator cend() const noexcept; |
(начиная с C++11) | |
Возвращает итератор на элемент, следующий за последним элементом multiset.
Этот элемент существует лишь условно, попытка доступа к нему приведёт к неопределённому поведению.
Параметры
(нет)
Возвращаемое значение
Итератор на элемент, следующий за последним элементом.
Сложность
Константная
Примечания
Поскольку и iterator, и const_iterator являются константными итераторами (и даже в реальности могут быть одного и того же типа), невозможно изменить элементы контейнера через итераторы, возвращаемые любыми из данных функций-членов.
Пример
Запустить этот код
#include <iostream>
#include <iterator>
#include <set>
#include <string>
int main()
{
const std::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 элементов обладают эквивалентными ключами
}
}
Вывод:
будут: 1
не: 1
по: 2
порядку: 2
слова: 1
теперь: 1
эти: 1
См. также
(C++11) |
возвращает итератор на начало (public функция-элемент) |