Метод begin
Метод begin класса vector возвращает итератор,
указывающий на первый элемент вектора. Если вектор пуст,
то возвращаемый итератор будет равен итератору, который
возвращает метод end. Метод не принимает параметров
и не изменяет сам вектор.
Синтаксис
vec.begin()
Пример
Давайте создадим вектор и получим итератор на его первый элемент, а затем выведем значение этого элемента:
#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 <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin();
*it = 10;
for (int num : vec)
{
cout << num << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
10 2 3 4 5
Пример
Давайте проверим, что для пустого вектора итератор
begin равен итератору end:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec;
bool res = vec.begin() == vec.end();
cout << res << endl;
return 0;
}
Результат выполнения кода:
1