Как в цикле foreach в Qt пропустить первые два элемента?
QList<T> list;
foreach( T item, list )
{
....
}
То есть чтобы итерация начиналась с третьего элемента list.
Источник: Stack Overflow на русском
QList<T> list;
foreach( T item, list )
{
....
}
То есть чтобы итерация начиналась с третьего элемента list.
Может, по старинке?
int k=0;
foreach( T item, list )
{
k++;
if(k<2) continue;
....
}
Хотя уверен, что сейчас придут люди и начнут рассуждать, что это противоречит MISRA, и будут правы. Если уж понадобилось работать с куском списка, то foreach уже не совсем подходит. Тогда уж лучше либо делать простой for и начинать его с 2, либо использовать итераторы с while:
QListIterator<int> iter(List);
iter.next();
iter.next();
while(iter.hasNext())
{
...
iter.next();
}
Нужно в вести дополнительную переменную счетчик:
int i = 0;
foreach (){
i++;
if (i < 2)
continue;
..ваш код..
}
Извините, не уверен в правильности (работает ли forech с оператором continue). Код на коленке выдумал.