User Tools

Site Tools


in204:cpp:syntax:class:this

This is an old revision of the document!


Le pointeur this

Dans une fonction membre, le mot clé this désigne le pointeur faisant référence à l'instance de l'objet qui est à l'origine de l'appel de la méthode.

Disposer de la référence sur l'objet dans la méthode est principalement pour les usages suivant :

  • lever l'ambiguité sur un conflit entre des noms de fonctions ou de champs, notamment quand il y a une fonction ou un champ qui est défini plusieurs fois dans des contextes différents, cela permet de préciser que l'on souhaite accéder au champ ou à la méthode défini dans la classe en préfixant le nom du membre ou de la méthode par this→.
    bool Value::is_equal(const A& anotherValue) const
    {
        return this->m_value== anotherObject.m_value;
    }
  • permettre à la fonction de retourner une référence à l'objet, soit sous la forme d'un pointeur, soit au contraire sous la forme d'une référence.
    Value& Value::operator+=(const A& anotherValue)
    {
        this->m_value += anotherValue.m_value;
        return *this;
    }
  • peremttre de dupliquer l'objet en appelant un constructeur qui attend une référence à l'objet ou de passer la référence de l'objet à une fonction qui attendrait une telle référence.
    Value& Value::operator++(int)
    {
        Value value(*this);
        this->m_value ++;
        return value;
    }
in204/cpp/syntax/class/this.1570713057.txt.gz · Last modified: 2019/10/10 13:10 by bmonsuez