Mot clé This
Remonter à Classes - Index
Le mot clé this :
- Est transmis sous la forme d'un argument caché dans tous les appels aux fonctions membres non statiques.
- C'est une variable locale disponible dans le corps de toute fonction membre non statique.
- Il n'a pas besoin d'être déclaré et on lui fait rarement référence explicitement dans la définition d'une fonction.
- Est utilisé implicitement à l'intérieur de la fonction pour des références de membre.
Les fonctions membres non statiques opèrent sur l'objet de type classe avec lequel elles sont appelées. Par exemple, si x est un objet de classe X et f() est une fonction membre de X, l'appel de fonction x.f()
opère sur x.
De la même façon, si xptr est un pointeur sur un objet X, l'appel de fonction xptr->f()
opère sur *xptr. Mais comment f sait-elle sur quelle instance de X elle doit opérer ? C++ fournit f avec un pointeur sur x appelé this.
Si x.f(y) est appelé, par exemple, où y est un membre de X, this est défini sur &x et y est défini sur this->y
, ce qui est équivalent à x.y.