Пространства имён
Варианты
Действия

std::multiset::end, std::multiset::cend

Материал из cppreference.com
 
 
 
 
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
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

См. также

возвращает итератор на начало
(public функция-элемент) [править]