Why not use std::copy? See argumentation above.