• [^] # Re: kaffe n'est pas en reste non plus

    Posté par . En réponse à la dépêche [Débat] Implémentations libres de java : sont elles utilisées dans la pratique ?. Évalué à 3.

    Il ne sert à rien d'en débattre, cela n'a jamais été tranché. Comme tout le monde le sait, il y avait au départ une volonté marketing de dire qu'il n'y avait pas de pointeur en Java, parce que qui dit pointeur dit gestion manuelle de l'allocation et la libération de la mémoire.
    La littérature est pleine de contradiction à ce sujet, chaque auteur ayant sa vision des choses.

    Pour réconcillier tout le monde, et se rapprocher des définitions officielles, une référence est une variable contenant un pointeur. La variable est la référence, le pointeur est la valeur de cette variable.
    Pour prendre un exemple :
    Machin m = new Machin();
    m est la référence.
    Si le Machin créé est stocké à l'adresse 0xabcdef, 0xabcdef est le pointeur (qu'on ne manipule jamais en Java).

    Mais au fond on s'en fout un peu, parce que ça ne change rien. Dans la lignée de ces débats stériles, lorsque je passe Machin en paramètre d'une méthode, est-ce un passage par valeur ou par adresse/référence ?