Краткий ответ: нет необходимости и желания делать это на Java или C++. С момента изобретения классов, когда вам нужна сложная структура, вы должны создать класс, а не выделять аморфный блок памяти, а затем помещать в эту память вещи, которые извлекаются по смещению, а не по имени.
Итак, похоже, вы пытаетесь выделить массив size_x указателей на удвоения, а затем двумерный массив size_x на size_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);
И это было бы об этом. Если вам нужна ссылка на строку, вы просто получите table[x].
Не пытайтесь имитировать malloc в Java. Это делается не так. Просто определите класс, который вам нужен, и используйте «новый», чтобы создать его, и Java позаботится о выделении памяти для вас.
person
Jay
schedule
22.07.2011