Проверка выхода за пределы вектора

328
07 марта 2017, 16:59

У меня есть вектор с элементами. Мне нужно выводить по три элемента. Если на пример, у меня в есть 5 элементов, сначало нужно вывести 3 а потом 2, но в цикле в формуле (pageNumber - 1) * 3 + 2 стоит +2, то есть должно выводиться 3 элемента, а затем еще 3. Как мне сделать проверку, не вышел ли я за пределы вектора ?

int reviewAllEvents(const User &user, vector<Event> &events)
{
    system("CLS");
    int pageNumber = 0;
    for (int i = (pageNumber - 1) * 3; i <= (pageNumber - 1) * 3 + 2; i++)
    {
        cout << events[i].getTitle() << endl;
        cout << events[i].getShortPlot() << endl;
        cout << events[i].getDate() << events[i].getAuthor() << endl;
    }
    return 0;
}
Answer 1

Добавьте проверку

if (i < 0 || i >= events.size()) break;
READ ALSO
MFC, Memory Leak при передаче параметров в поток

MFC, Memory Leak при передаче параметров в поток

День добрыйУже полтора дня пытаюсь разобраться в причинах сообщений об утечках памяти(Memory Leaks Detected

460
Пример lstm нейросети [требует правки]

Пример lstm нейросети [требует правки]

Есть у кого пример lstm сети? На гитхабе не нашел того, что подходит

481
Чем структура отличается от класса? [дубликат]

Чем структура отличается от класса? [дубликат]

На данный вопрос уже ответили:

325
Вывод элементов std::map в отладчике

Вывод элементов std::map в отладчике

Пользуюсь gdbНаблюдаемый субъект имеет имя m_loginIndexer

380