Parlons un peu de pointeurs : C -> Java
Bonjour,
je souhaiterai avoir quelques précisions concernant des cas particuliers de convertion de pointeurs C en Java. je n'ai pas trouvé les réponses dans les différents tutoriaux sur le suejt.
Tout dabord dans le cas suivant :
Code:
1 2 3 4 5 6 7 8 9 10
| void main(void)
{
int *a = 0 ;
toto(a) ;
}
...
void toto(int *a)
{
*a = 1
} |
Y a t'il une bonne façon de le convertir en java ?
Etant donné que je souhaite garder ce type de structure, je vois deux solutions :
- Convertir mon pointeur en un tableau à une seule case : int[] a = new int[1] ; c'est moche mais ça fonctionne car le tableau est passé par adresse et non par valeur.
- Créer une Classe A qui contient une variable publique unique "a" et je passe A au lieu de "a" en paramètre.
Deuxième problème dans le cas suivant, les fonctions passées en paramètres d'autres fonctions :
Code:
void mafonction(int x, void (*funcs)(float, int), float y)
Je pense que le mieux est de passer à la place une Interface qui oblige a implementer une fonction bien particulière.
Est ce la bonne solution ?
Merci par avance...