std::set<Key,Compare,Allocator>::end, std::set<Key,Compare,Allocator>::cend
iterator end(); | (1) | (noexcept since C++11) |
const_iterator end() const; | (2) | (noexcept since C++11) |
const_iterator cend() const noexcept; | (3) | (since C++11) |
Возвращает итератор к элементу, следующему за последним элементом set.
Этот элемент служит заполнителем; попытка обратиться к нему приводит к неопределённому поведению.
Возвращаемое значение
Итератор к элементу, следующему за последним элементом.
Сложность
Постоянная.
Примечания
Поскольку и iterator, и const_iterator являются константными итераторами (и фактически могут иметь один и тот же тип), изменить элементы контейнера через итератор, возвращённый любой из этих функций-членов, невозможно.
libc++ переносит cend() в режим C++98.
Пример
#include <algorithm>
#include <iostream>
#include <set>
int main()
{
std::set<int> set{3, 1, 4, 1, 5, 9, 2, 6, 5};
std::for_each(set.cbegin(), set.cend(), [](int x)
{
std::cout << x << ' ';
});
std::cout << '\n';
}
Вывод:
1 2 3 4 5 6 9
См. также
|
(C++11) | возвращает итератор на начало (функция-член класса) |
|
(C++11)(C++14) | возвращает итератор на конец контейнера или массива (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/set/end