Dzisiaj w kodzie popełnionym przez kogoś z firmy, odnalazłem perełkę pokazującą inny sposób tworzenia pętli for w oparciu o iteratory. Tym drobiazgiem czyniącym róznicę jest sprytne wykorzystanie operatora przecinka i konstruktora iteratora. Wygląda to tak:
#include <vector>
#include <iostream>
int main()
{
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
std::vector<int> vector(array, array+8);
for ( std::vector<int>::const_iterator it(vector.begin()), end(vector.end());
end != it;
++it )
std::cout << *it << std::endl;
return 0;
}
Takie proste, a jakie ładne.