Я использую такие петли, как это:
for (std::size_t Index = 0; Index < Foo.Size(); Index++)
{
// Do stuff with Foo[Index].
}
Но когда я вижу петли итератора в коде других, они выглядят так:
for (Bar::Iterator Iterator = Foo.Begin(); Iterator != Foo.End(); Foo++)
{
// Do stuff with *Iterator.
}
Я считаю, что Iterator != Foo.End()
отклоняется. Это также может быть опасно, если Iterator
увеличивается на несколько единиц.
Кажется более "правильным" использовать Iterator < Foo.End()
, но я никогда не вижу этого в реальном коде. Почему бы и нет?