Sono un noob Java. Sono stato in grado di cogliere il concetto di convertire i puntatori C/C++ in riferimenti Java e questo è andato abbastanza agevolmente.C++ Puntatori ai puntatori in Java
Ho colpito un pezzo di codice che ha puntatori a puntatori (cioè ** ptr). Devo dereferenziare il puntatore e cambiare il valore del puntatore a cui punta (cioè * ptr = & newthing;)
Questo sembra più difficile in Java. Qualcuno ha qualche idea su come risolvere questo problema? La ricerca rapida su google non ha restituito nulla.
Ecco un esempio di codice in C++. Voglio ottenere qualcosa di simile a lavorare in Java ma la variabile ptr_to_ptr è un problema:
struct _coord
{
int x;
int y;
_coord * next_coordinate;
} coordinate_t;
coordinate_t buffer[100];
coordinate_t * head;
coordinate_t ** ptr_to_ptr;
if (wednesday)
{
ptr_to_ptr = &head;
}
else
{
ptr_to_ptr = &head->next_coordinate;
}
*ptr_to_ptr = &buffer[3]; // <<<---- HOW DO YOU MAKE THIS WORK?
Erm, Java non ha i puntatori? –
@KazekageGaara L'OP sta parlando di come un "puntatore al puntatore" in C++ si sarebbe tradotto in Java. – NominSim
Java non consente al programmatore di utilizzare puntatori o aritmetica del puntatore come C/C++.Sarà meglio se pubblichi quale sia il tuo problema specifico (incluso il frammento di codice sarebbe buono a seconda del problema). –