Я попытался запустить приведенный ниже код, чтобы проверить доступность итератора:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> n = {1,24,5,4};
vector<int> :: iterator itr;
itr = n.begin();
for(;;itr++){
cout<<*itr<<endl;
}
return 0;
}
Программа выполнена и завершена с ошибкой сегментации в конце.
Из этого я понял, что до определенных итераций значение, возвращаемое итератором, равно нулю за его пределами и после сбоя этой программы.
Я хочу знать, что происходит, когда мы обращаемся к итератору за его пределами и если он действует как указатель, на что он указывает?