Attention avec cette forme du langage. Elle est dangereuse, et pour une raison mystérieuse.
Ce que je vais donner ici, je n'ai pas fait le test explicite en Delphi pour l'appuyer, mais j'en suis presque certain.
Si ta fonction
GetTableau renvoie le tableau
FTableau directement :
Alors, le tableau renvoyé sera
lié à
FTableau, de telle sorte que si tu modifies
un élément de celui-ci, le même élément de
FTableau sera modifié également !
Donc, tu ouvres une portes à la modification du tableau interne depuis l'extérieur de ton objet.
Pour cette raison, on préfère utiliser un paramètre de sortie (
out) :
1 2 3 4
| procedure GetTableau(out Tableau: TTableau);
begin
Tableau := Copy(FTableau);
end; |
Ca c'est sans danger, car le contenu du tableau sera bel et bien recopié.
Partager