Функция cend
Функция cend возвращает константный итератор,
указывающий на позицию, следующую за последним
элементом контейнера. Такой итератор нельзя
использовать для изменения элементов. Функция
принимает один параметр - контейнер, для которого
нужно получить конечный итератор. Возвращаемое
значение имеет тип const_iterator и часто
используется для обхода контейнера в цикле, когда
не требуется изменять его элементы.
Синтаксис
std::cend(container)
Пример
Давайте получим константные итераторы начала и конца вектора и выведем все его элементы:
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = cbegin(vec); it != cend(vec); ++it)
{
cout << *it << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте посчитаем количество элементов в векторе
с помощью функции distance и константных
итераторов:
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto res = distance(cbegin(vec), cend(vec));
cout << res << endl;
return 0;
}
Результат выполнения кода:
5
Пример
Давайте используем cend для поиска элемента
в векторе с помощью функции find:
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = find(cbegin(vec), cend(vec), 3);
if (it != cend(vec))
{
cout << "Found: " << *it << endl;
}
else
{
cout << "Not found" << endl;
}
return 0;
}
Результат выполнения кода:
"Found: 3"