Am I using the copy_if wrong?
The copy_if algorithm looks something like this(taken from MSVC2010): template<class InIt, class OutIt, class Pr> inline OutIt copy_if(InIt First, InIt Last, OutIt Dest, Pr Pred) { for (; First != _Last; ++First) if (Pred(*_First)) *Dest++ = *First; return (Dest); } And as you can see the copy_if does not do a push_back, it just copy … Read more