Ho un range basato su che opera su un std::vector
di oggetti ( item
s), in questo modo:
for(auto item : itemCollection)
{
if(!item.some_check(...))
{
// do 5% stuff
break;
}
// do the 95% stuff
}
La maggior parte delle volte (> 95%) il ciclo funziona sull'intero contenitore, tuttavia, se some_check()
restituisce un false
(circa il 5% delle volte), si interromperà all'inizio del ciclo .
È considerata una cattiva forma per uscire da un range-based? Dovrei invece usare un while
o un C ++ 03-style for(...;...;...)
qui?