Bonjour,
Je ne comprends pas la signification de intent(in) et intent(out).
A quoi ça sert de mettre integer,intent(in) plutot que integer seulement ?
MerciCode:
1
2 type(T_POLYx),dimension(:),intent(out) :: TAB integer,intent(in) :: n
Version imprimable
Bonjour,
Je ne comprends pas la signification de intent(in) et intent(out).
A quoi ça sert de mettre integer,intent(in) plutot que integer seulement ?
MerciCode:
1
2 type(T_POLYx),dimension(:),intent(out) :: TAB integer,intent(in) :: n
bonjour,
signifie que n est considéré dans ton sous-programme comme une variable d'entrée uniquement. toute tentative de modification de cette valeur par renverra un message d'erreur du compilateur.Code:integer, intent(in) :: n
disons que c'est une sécurité qui t'empèche de modifier la valeur de la variable pendant l'éxécution du sous programme.
Petit complément, les intents permettent également :
- Une meilleure optimisation : la fonction appelante « sait » par exemple qu'une variable intent(in) ne sera pas modifiée.
- Diminution du risque d'erreur : le compilateur devrait refuser que tu utilise une expression ou une constante pour un argument intent(out)
- Une meilleure documentation : en lisant la déclaration des variables, tu isoles facilement les variables en entrée et les variables en sortie. Il est ainsi beaucoup plus facile de comprendre comment utiliser une fonction ou une routine.