Sumal.V Ответов: 1

Вектор итератор не уникальным


Всем привет,

Я начал использовать векторы совсем недавно, чтобы хранить большое количество данных. Данные состоят из более чем 1000 строк с примерно 10 значениями в каждой строке.

Чтобы получить первое и последнее значение, я использовал атрибут begin и end vector:-

double startTime, endTime; 
vector<MyClass> DataTable; // The MyClass has variables that holds the variables from the data. 


Для того чтобы получить первое и последнее значения одной из переменных : time, я использовал :
startTime =  DataTable.begin()->time; 
endTime    = DataTable.end()->time; 

StartTime работает нормально, но когда он достигает значения endTime, я получаю ошибку, которая говорит : "векторный итератор не разыменовывается ". Не могу понять почему.. Есть предложения ?

1 Ответов

Рейтинг:
9

CPallini

vector::end метод возвращает итератор, ссылающийся на прошлое-конец элемент (то есть охранник, см. здесь[^] ). вы можете использовать вектор::назад[^] , вместо.


Sumal.V

Да, это работает :)Ура :)

Единственное изменение-это ссылочный тип. Здесь "." используется вместо оператора "->".

Wendelius

Приятно!