1
В языке D, каковы эквиваленты следующих утверждений предполагающих коды: -MemSet() и тетср() с помощью D ломтиков
int size = 8;
int shift = 1;
int[size] skip;
int[size] suff;
memcpy(&skip[0], &skip[0]+shift, (m-shift)*(int.sizeof));
memset(&skip[0]+(m-shift),0, shift*(int.sizeof))
Я думал, преобразование будет: -
skip[0 .. size-1] = skip[shift .. size-1 ]; //For the memcpy();
skip[0 .. size-1] = 0; //For the memset();
Но это не работает для меня, так как dmd (v2.066.1) дает ошибку slice [8..7] exceeds array bounds [0..8]
.
[0..8] означает [0, 1, 2, 3, 4, 5, 6, 7]. Итак, вам нужно 'size', где вы пишете' size-1'. – Gassa