Каков самый быстрый способ поменять местами две неперекрывающиеся области памяти равного размера? Скажем, мне нужно поменять местами (t_Some * a)
на (t_Some * b)
. Принимая во внимание компромисс между пространством и временем, увеличит ли временное пространство скорость? Например, (char * tmp)
vs (int * tmp)
? Ищу портативное решение.
Прототип:
void swap_elements_of_array(void* base, size_t size_of_element, int a, int b);