Je vois beaucoup de code c++ qui ressemble à ça :
for( const_iterator it = list.begin(),
const_iterator ite = list.end();
it != ite; ++it)
Par opposition à la version plus concise :
for( const_iterator it = list.begin();
it != list.end(); ++it)
Y aura-t-il une différence de vitesse entre ces deux conventions ? Naïvement, la première sera légèrement plus rapide puisque list.end() n'est appelé qu'une seule fois. Mais puisque l'itérateur est const, il semble que le compilateur retirera ce test de la boucle, générant un assemblage équivalent pour les deux.