Différences entre les arguments modifiables et non modifiables
Mise à jour : novembre 2007
Lorsque vous appelez une procédure, vous lui passez généralement un ou plusieurs arguments. Chaque argument correspond à un élément de programmation sous-jacent. Les éléments sous-jacents et les arguments peuvent être modifiables ou non.
Éléments modifiables et non modifiables
Un élément de programmation peut être un élément modifiable dont la valeur peut changer ou un élément non modifiable dont la valeur reste fixe une fois qu'il est créé.
Le tableau suivant répertorie les éléments de programmation modifiables et non modifiables.
Éléments modifiables |
Éléments non modifiables |
---|---|
Variables locales (déclarées à l'intérieur des procédures), comprenant les variables objet, sauf en lecture seule |
Variables, champs et propriétés en lecture seule |
Champs (variables membres de modules, de classes et de structures), sauf en lecture seule |
Constantes et littéraux |
Propriétés, sauf en lecture seule |
Membres d'énumération |
Éléments de tableau |
Expressions (même si elles contiennent des éléments modifiables) |
Arguments modifiables et non modifiables
Un argument modifiable est un élément comprenant un élément sous-jacent modifiable. Le code appelant peut stocker une nouvelle valeur à n'importe quel moment, et si vous passez l'argument ByRef, le code de la procédure peut également modifier l'élément sous-jacent du code appelant.
Un argument non modifiable possède un élément non modifiable sous-jacent ou est passé ByVal. La procédure ne peut pas modifier l'élément sous-jacent dans le code appelant, même si cet élément est modifiable. Si cet élément est non modifiable, le code appelant ne peut pas le modifier.
La procédure appelée peut modifier sa copie locale de l'argument non modifiable, mais cette modification n'affecte pas l'élément sous-jacent dans le code appelant.
Voir aussi
Tâches
Comment : passer des arguments à une procédure
Comment : modifier la valeur d'un argument de la procédure
Comment : protéger un argument de procédure contre les modifications de valeur
Comment : forcer le passage d'un argument par valeur
Concepts
Paramètres et arguments d'une procédure
Passage d'arguments par valeur et par référence
Différences entre le passage d'un argument par valeur et par référence