не могу понять использование этого параметра при создании класса в С++

class Node {
public:
    int key;
    Node *parent;
    std::vector<Node *> children;

    Node() {
      this->parent = NULL;
    }

    void setParent(Node *theParent) {
      parent = theParent;
      parent->children.push_back(this); // I can't understand this.
    }
};

В функции setParent, в parent->children.push_back(this), почему мы передаем это как параметр и что это будет делать?


person Gopal Nandan    schedule 15.07.2020    source источник
comment
this в основном является указателем на вызывающий объект.   -  person kesarling    schedule 15.07.2020
comment
Отвечает ли это на ваш вопрос? Что такое указатель this?   -  person xavc    schedule 15.07.2020
comment
Отвечает ли это на ваш вопрос? Что такое указатель this?   -  person kesarling    schedule 15.07.2020


Ответы (1)


Указатель this — это указатель на объект, функция-член которого выполняется в данный момент. Эта строка кода добавляет узел this к родительскому вектору дочерних элементов. Это имеет смысл, поскольку узел this является одним из дочерних узлов своего родителя.

person David Schwartz    schedule 15.07.2020