Как инкапсулировать существующий массив, используя D2 Phobos Std.range - PullRequest
2 голосов
/ 15 января 2012

Я хотел бы инкапсулировать существующий массив данных (созданный Python Numpy Lib) в объект типа Array на языке D2 ... без необходимости копировать данные массива ... Я уже использую Python cTypes Lib для созданияВызов DLL, передача длины массива и указателей на данные. Но я все еще копирую данные массива, чтобы поместить их в собственный массив D2.Похоже, что возможно не нужно копировать данные массива, используя класс std.range библиотеки phobos. Этот шаблон инкапсуляции массива был бы довольно распространенным ... Я новичок в обоих D, а также в этой абстракции класса диапазона... Было бы здорово иметь пример кода D2 о том, как это будет сделано.

1 Ответ

3 голосов
/ 15 января 2012

Вы можете нарезать указатель.Эта операция вернет массив D:

int *p = /*some initializer*/;
int[] a = p[0..N];
...