Как вы нарезаете массивы в "D"? - PullRequest
2 голосов
/ 13 октября 2008

Как манипулировать массивами в "D"?

Ответы [ 3 ]

4 голосов
/ 13 октября 2008

Здесь вы можете найти полную ссылку на манипуляции с массивами в D.

3 голосов
/ 06 ноября 2008

FYI. Вы также можете скопировать с помощью:

int[7] a;
int[] b;
b = a[5..7].dup;
3 голосов
/ 13 октября 2008

Чтобы разрезать массивы, достаточно просто

int[7] a;
int[] b;
b = a[5..7];

, который устанавливает b [0] в a [5] и b [1] в a [6]. Но помните, что это ссылка на элементы в , а не другой их копии. Если вы измените b [0], это также повлияет на a [5].

Если вы хотите скопировать, вы должны сделать:

int[7] a;
int[2] b;
b[0..1] = a[5..7];

Это потому, что b является статическим массивом; в первом блоке кода он был динамическим (фактически указатель на где-то в другом массиве).

...