У вас нет указателей в Java, только ссылки и только для объектов (не для примитивных типов).Ссылки похожи на указатели, но вы используете «.»обозначение вместо «*» или «->».Кроме того, вам не нужно удалять объекты в Java, вы просто прекращаете их использовать и, в конце концов, сборщик мусора уничтожает их.
Отвечая на ваши вопросы выше, снизу вверх: если test - указатель на структуруили класс в C ++, а arg является переменной-членом test, тогда
test->arg
используется для доступа к члену через указатель.Это будет отображаться в
test.arg
в Java, если arg является публичной переменной-членом тестового объекта.
Я бы перевел следующее:
struct test
{
int t;
int arg;
float *pva;
double *array;
}
...
double test(struct test *test)
{}
в
public class Test
{
public int t;
public int arg;
float [] pva;
double [] array;
}
...
public static double test(Test test)
{}
Для первого случая, т. Е. Функции
static void test( double *output){}
, вы не можете передать указатель на удвоение и модификацию double в Java.Вы должны вернуть двойной.Если вам нужен также double как входной параметр, вы указываете его как обычный параметр, который передается по значению:
static double test(double output)
{}
Надеюсь, это поможет.