如何使用指向当前对象的指针?

how to use a pointer to the current object?

只是想知道如何在 C++ 中使用(传递或 return)指向当前对象的指针?

在我的例子中,我有一个节点映射,我想为一个节点分配一个子节点,这样做会将当前节点作为父节点添加到子节点

下面是我现在的

void node::assign_child(node* child)
{
   children.push_back(child);
   child->parents.push_back(*this???);
}

非常接近,但是this本身就是一个指针。你不想取消引用 this 否则你只会得到一个值。

child->parents.push_back(this);

嗯,this本身就是一个指针,命名为“this指针”。

关于为什么它是指针,This SO post 可能会有所帮助。

或者看看 C++17 标准是怎么说的。
§12.2.2.1 this指针代表:

the keyword this is a prvalue expression whose value is the address of the object for which the function is called. The type of this in a member function of a class X is X*.