Traduction d'une macro C++ en java
Bonjour,
je souhaiterai traduire cette macro C++ en Java :
Code:
1 2 3 4 5 6
|
#define compab_mask_inc(ptr,shift)
{
value |= ((unsigned int)(cntr - *ptr) & 0x80000000)>> (31-shift) ;
ptr++ ;
} |
ptr est un pointeur vers une position dans un tableau de int.
shift est un entier.
cntr est un entier utilisé dans la fonction qui appelle la macro.
Est ce que ma traduction en java est juste ?
Code:
1 2 3 4 5 6 7
|
void compab_mask_inc(int[] tab, int ptr, int shift, int cntr)
{
int value |= ((cntr - tab[ptr]) & 0x80000000) >> (31-shift) ;
}
...
ptr++ ; |
En sachant que je fais le ptr++ dans la méthode appelante.
Question annexe : J'ai également ce morceau de code dont j'aimerai une précision :
Code:
1 2
|
for (i=0 ; i < n ; i++) ... sizeof(i) |
Je l'ai programmé rapidement et ça retourne systématiquement 4 quelque soit la valeur de 'i'.
Quel est l'intérêt du développeur d'avoir utilisé une telle instruction qui renvoie une constante ?
Merci par avance