Odpovídáte na názor ke článku Bezpečné programování v C++ I.
Niekolko pripomienok, podla mna std::list neni ekvivalent python list, skor std::vector sa k nemu blizi kedze podporuje aj pristup k nahodnemu prvku (random access), dalej filter sa da spravit aj cez remove_copy_if() (s invertovanou podmienkou v isEven) a printList by som parametrizoval ako kontajner a nie ako polozku list-u...
template
void printList(T const &List, std::string const &desc = "List contents")
{
std::cout << desc << ": [";
for(typename T::const_iterator it = List.begin(), end = List.end(); it != end; ++it)
std::cout << *it << (it < end - 1 ? "," : "");
std::cout << "]" << std::endl;
}
bool isEven(const int &i)
{
return !((i % 2) == 0);
}
int main(int argc, char* argv[])
{
std::vector l;
l.push_back(1);
l.push_back(2);
l.push_back(3);
printList(l, "Original list");
std::vector out;
std::remove_copy_if(l.begin(), l.end(), std::back_inserter(out), std::ptr_fun(isEven));
printList(out);
return 0;
}