Краткий ответ: в Java или C ++ такое не нужно и не желательно.С момента изобретения классов, когда вам нужна сложная структура, вы должны создать класс, а не выделять аморфный блоб памяти, а затем помещать в эту память вещи, которые извлекаются смещением, а не именем.
Похоже, вы пытаетесь выделить массив указателей size_x на удвоенные значения, а затем двумерный массив указателей на size_x на удвоенные размеры_y с указателями, указывающими на последовательные строки в таблице?Извините, если я не понимаю, что вы пытаетесь сделать.Именно поэтому способ Java, по моему скромному мнению, превосходит: сложные структуры не так сложно определить.
В Java не было бы необходимости иметь указатели на строки.Так что в Java это просто превратится в:
public class MyDataData
{
double[][] table;
public MyDataData(int size_x, int size_y)
{
table=new double[size_x][size_y];
}
}
Чтобы вызвать его, вы просто напишите:
MyDataData whatever=new MyDataData(3,6);
И это будет об этом.Если вам нужна ссылка на строку, вы просто получите таблицу [x].
Не пытайтесь симулировать malloc в Java.Это не так, как это делается.Просто определите класс, который вам нужен, и используйте «new», чтобы создать его, и Java будет беспокоиться о выделении памяти для вас.