Метод end
Метод end класса array возвращает итератор, который указывает на элемент, следующий за последним элементом массива. Этот итератор не указывает на реальный элемент контейнера и используется в качестве маркера конца диапазона. Метод не принимает параметров. Обычно end применяют в паре с методом begin для обхода всего массива в цикле или для передачи диапазона в алгоритмы стандартной библиотеки.
Синтаксис
arr.end()
Пример
Давайте выведем все элементы массива, используя итераторы от begin до end:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr = {1, 2, 3, 4, 5};
for (auto it = arr.begin(); it != arr.end(); ++it)
{
cout << *it << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте вычислим сумму всех элементов массива, пройдясь по нему с помощью итераторов:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr = {1, 2, 3, 4, 5};
int sum = 0;
for (auto it = arr.begin(); it != arr.end(); ++it)
{
sum += *it;
}
cout << "Sum: " << sum << endl;
return 0;
}
Результат выполнения кода:
"Sum: 15"
Пример
Давайте найдём последний элемент массива, используя итератор end со сдвигом на одну позицию назад:
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> arr = {1, 2, 3, 4, 5};
auto last = arr.end() - 1;
cout << "Last element: " << *last << endl;
return 0;
}
Результат выполнения кода:
"Last element: 5"