Wydaje mi się, że wszystkie pętle są tak samo szybkie. Nie ma to znaczenia. Po za tym, w dobie dzisiejszego sprzętu nie ma to żadnego znaczenia czy użyjesz while, fora, foreacha czy innego cuda. W praktyce i tak wszystko będzie śmigać tak samo szybko i to czego użyjesz powinno zależeć od tego, które wolisz. Co do tego auto, to to jest o ile się nie mylę instrukcja preprocesora czy innego cuda, które przetwarza kod przed kompilacją ostateczną. Robi to mniej więcej tyle, że wpisuje Ci w miejsce tego auto odpowiedni typ (a właściwie zgaduje jakiego chcesz). Co do tych Dynamic Collectors to myślę, że najwolniejszy z nich byłby map, potem vector a na końcu zwykłe tablice. Jednak zależy też ty to są tablice dynamiczne. Tak czy siak, nie odczujesz najmniejszej różnicy w działaniu programu, nawet jak nawalisz tam tonę kodu.
@edit:
Zwykłe tablice raczej nie zaliczają się do Dynamic Collectors.
@edit:
Zwykłe tablice raczej nie zaliczają się do Dynamic Collectors.