Я думаю, потому что это не нужно очень часто. Тем не менее, есть простой способ сделать это в C ++:
#include <algorithm>
swap_ranges(ptr1, ptr1 + nbytes, ptr2)
Возможно, он не так оптимизирован, как встроенный компилятор, но он может быть быстрее, чем цикл, который вы пишете для себя, поскольку он может иметь оптимизацию для конкретной платформы, которую вы не реализовали бы.
Вы должны быть осторожны с вышесказанным, поскольку предполагается, что ptr1 и ptr2 являются указателями на символы. Более канонический способ сделать это:
#include <algorithm>
swap_ranges(ptr1, ptr1 + num_items, ptr2)