Функция begin
Функция begin возвращает итератор,
указывающий на первый элемент контейнера
или массива. Для большинства стандартных
контейнеров (таких как vector,
string, list, map)
она является методом и вызывается без
параметров. Также существует
глобальная версия функции, которая
принимает контейнер или массив и
возвращает соответствующий итератор.
Итератор можно использовать для
перебора элементов или передачи
алгоритмам стандартной библиотеки.
Синтаксис
// Метод контейнера
container.begin()
// Глобальная функция
std::begin(container)
Пример
Давайте получим итератор на начало вектора и выведем первый элемент:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin();
cout << *it << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте переберём все элементы вектора
с помощью итератора, полученного
из begin, и выведем их на экран:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = vec.begin(); it != vec.end(); ++it)
{
cout << *it << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте используем глобальную функцию
begin для обычного массива
и выведем первый элемент:
#include <iostream>
#include <iterator>
using namespace std;
int main()
{
int arr[] = {1, 2, 3, 4, 5};
auto it = begin(arr);
cout << *it << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте получим итератор на начало строки и выведем первый символ:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
auto it = str.begin();
cout << *it << endl;
return 0;
}
Результат выполнения кода:
"'a'"