Why not use std::copy? The documentation on [http://en.cppreference.com](http://en.cppreference.com/w/cpp/algorithm/copy) states, that the implementation would use bulk copy functions such as std::memmove if possible.