C++ pointeur this
En C++,thisLe pointeur this est un pointeur spécial qui pointe vers l'instance de l'objet actuel.
En C++, chaque objet peut, viathisLe pointeur this est utilisé pour accéder à sa propre adresse.
thisun pointeur caché, qui peut être utilisé dans les fonctions membres d'une classe, et il peut être utilisé pour pointer vers l'objet appelant.
Lorsqu'une fonction membre d'un objet est appelée, le compilateur passe implicitement l'adresse de cet objet comme pointeur this.
Les fonctions amies n'ont pasthispointeur, car une fonction amie n'est pas un membre de la classe ; seules les fonctions membres l'ont.thispointeur.
L'exemple suivant aide à mieux comprendre le concept du pointeur this :
Exemple
Le résultat de sortie de l'exécution du code ci-dessus est :
Value: 42
Analyse de l'exemple :
-
Dans l'exemple ci-dessus, nous avons défini une classe nommée MyClass, qui possède une variable membre privée value.
-
La fonction setValue() de la classe est utilisée pour définir la valeur de value, tandis que la fonction printValue() est utilisée pour afficher la valeur de value.
-
Dans la fonction setValue(), nous utilisons le pointeur this pour faire référence à la variable membre value de l'objet courant, et nous y affectons la valeur transmise. Cela indique clairement au compilateur que nous voulons accéder à la variable membre de l'objet courant, plutôt qu'à un paramètre de fonction ou à une variable locale.
Dans la fonction printValue(), nous utilisons également le pointeur this pour faire référence à la variable membre value de l'objet courant et l'afficher.
-
Dans la fonction main(), nous créons un objet obj de MyClass, puis nous utilisons la fonction setValue() pour définir value à 42, et l'affichons via la fonction printValue().
-
En utilisant le pointeur this, nous pouvons accéder aux variables membres de l'objet courant dans les fonctions membres, même si elles portent les mêmes noms que des paramètres de fonction ou des variables locales. Cela évite les conflits de nommage et garantit que nous accédons à la bonne variable.
Plus d’exemples
L'exemple suivant est utilisé pour comparer les volumes de parallélépipèdes rectangles :
Exemple
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
调用构造函数。 调用构造函数。 Box2 的体积大于或等于 Box1autres extensions