In C++11, why use a for loop when you can use a foreach loop?
#include <iostream> //for std::cout void foo() { for (Person const& person : personList) { std::cout << person << ' '; } }
In C++98/03, why use a for
loop when you can use an algorithm instead?
#include <iterator> //for std::ostream_iterator #include <algorithm> //for std::copy #include <iostream> //for std::cout void foo() { std::copy( personList.begin(), personList.end(), std::ostream_iterator(std::cout, " ") ); }
Note that this works with any pair of iterators, not only those from std::set<t>
. std::copy
will use your user-defined operator<<
to print out every item inside the set
using this single statement.