Каков предпочтительный метод написания циклов в соответствии с эффективностью: Способ a)
/*here I'm hoping that compiler will optimize this
code and won't be calling size every time it iterates through this loop*/
for (unsigned i = firstString.size(); i < anotherString.size(), ++i)
{
//do something
}
или, может быть, мне следует сделать это следующим образом: Путь b)
unsigned first = firstString.size();
unsigned second = anotherString.size();
и теперь я могу написать:
for (unsigned i = first; i < second, ++i)
{
//do something
}
второй способ кажется мне худшим вариантом по двум причинам: область загрязнения и многословие, но у нее есть преимущество в том, что size() будет вызываться один раз для каждого объекта.
Ждем ваших ответов.