Имеется массив данных:
long long *Data=new long long[DATA_COUNT];
DATA_COUNT может быть тысячи и десятки тысяч.
Необходимо при каждой итерации смещать элементы массива на одну позицию влево (затирая самый первый элемент).
Например:
Было - 0, 1, 2, 3, 4, 5
Стало- 1, 2, 3, 4, 5,
X - где
X - место для следующих (более новых) данных.
Я делаю так:
memmove (&Data[0], &Data[1], (DATA_COUNT-1)*sizeof(long long));
Это самый быстрый способ? Или есть быстрее?