Se ho chiamata di funzione a condizione del ciclo come questo:Chiamata di funzione per condizione loop?
for (auto it = s.begin(); it != s.end(), ++it) {}
si chiama ad ogni iterazione? Mi aspetto di sì. Il compilatore consente di ottimizzarlo? I compilatori attuali sono abbastanza intelligenti da farlo? O sto meglio usando qualcosa come il seguente:
for (auto it = s.begin(), auto end = s.end(); it != end; ++it) {}
?
Poiché si utilizza C++ 11, è consigliabile utilizzare il ciclo per ciclo basato su intervalli che evita questo problema. –
@NeilKirk non utilizzabile nel mio caso, in realtà ho bisogno che l'iteratore faccia cose divertenti. – Paladin
Personalmente scrivo i miei loop usando il tuo secondo approccio, quindi non devo preoccuparmene. Non so quanto sia importante o meno nella pratica. –