-
intent et tableaux
Bonjour,
Quand on utilise intent(inout) pour un tableau, seule l'adresse du tableau est transmise à la fonction/subroutine.
Mais il me semble avoir lu que si on utilise intent(in), les tableaux sont dupliqués pour être transmis.
Est ce que quelqu'un pourrait confirmer ?
Merci.
-
il me semble, mais je peux me tromper, que le intent ne sers qu'à interdire l'écriture (ou la lecture) mais que les tableau sont transmis de la même manière...
c'est plus un outils pour vérifié à la compilation que l'on a pas fait de conneries...
-
Ma compréhension est conforme à celle de genteur slayer. Le intent in ne sert pas à créer un argument par valeur (et donc sans effet sur l'appelant).
J'ajouterais simplement que la norme décrit le comportement et non le comment. Elle ne parle donc pas d'adresse ou de pointeur. Dans certains cas (principalement des sections non contigües de tableaux), il peut y avoir création d'une variable temporaire. S'il y a intent in ou out, la synchronisation de la variable effective et de la variable temporaire peut être ignorée en entrée ou en sortie selon que l'intent est out ou in.