Я вижу много С++-кода, который выглядит так:
for( const_iterator it = list.begin(),
const_iterator ite = list.end();
it != ite; ++it)
В отличие от более сжатой версии:
for( const_iterator it = list.begin();
it != list.end(); ++it)
Будет ли разница в скорости между этими двумя соглашениями? Наивно первый будет немного быстрее, так как list.end() вызывается только один раз. Но так как итератор const, похоже, что компилятор вытащит этот тест из цикла, создав эквивалентную сборку для обоих.