Как выделить общую память под массив структур с динамическим массивом?

226
30 июля 2018, 09:00

У меня есть структура:

struct A
{
int a;
double c;
double *array;
};
main()
{
A *str = new A[50];
for(int i=0;i<50;i++)
{
   str[i].array = new double[5];
   str[i].array[0] = 50;
}
// Здесь мне необходимо создать буфер и выделить в нем память под массив
// и копировать в буфер свой массив со значениями;
Buffer BufA = (...,..., 50 * sizeof(A),str);
//Далее я буфер передаю в файл OpenCL;
//Если я инициализирую обычные переменные в массиве структур, то их я могу использовать в файле. А вот значения в динамическом массиве он не видит. Видимо я не полностью выделяю память, под динамический массив еще надо.
}

Можете подсказать пожалуйста, как именно надо записать память под динамический массив в общую выделяемую память? Вряд ли это специфика OpenCl, потому что я вижу значения обычных переменных. Фишка в динамическом массиве.

P.s. в принципе, я могу передать отдельно свой массив в буфер и тогда всё будет работать. Но для удобства, хотелось бы сделать это в структуре.

Answer 1

Ну в структуре лежит только адрес массива. Если все массивы одинаковой длины, то так и напишите в структуре double array[5];

READ ALSO
преобразование и отображение char в с++

преобразование и отображение char в с++

есть проблема, ввожу русские буквы, например "у", по идее оно должно отображать в формате char "у" , а в формате int номер по таблице ASCII "227", но оно...

153
byte*** array to object

byte*** array to object

У меня имеется 3 мерный динамический массив ImgAR типа byte***, в нем хранятся данные картинки разбитые по координатам пикселя и цветовым каналамИ...

172
C++ реализация стека

C++ реализация стека

Задача:Написать программу для моделирования Т-образного сортировочного узла на железной дороге с использованием контейнерного класса stackПрограмма...

223