提问人:JoshAsh 提问时间:6/8/2021 最后编辑:JoshAsh 更新时间:9/21/2022 访问量:235
使用指向当前对象的指针 - C++
use a pointer to the current object - C++
问:
只是想知道如何在 C++ 中使用(传递或返回)指向当前对象的指针?
在我的例子中,我有一个节点映射,我想为一个节点分配一个子节点,并在这样做时将当前节点作为父节点添加到子节点中
以下是我现在所拥有的
void node::assign_child(node* child)
{
children.push_back(child);
child->parents.push_back(*this???);
}
答:
2赞
Silvio Mayolo
6/8/2021
#1
非常接近,但本身就是一个指针。你不想取消引用,否则你只会得到一个值。this
this
child->parents.push_back(this);
3赞
Uduru
6/8/2021
#2
嗯,本身就是一个指针,命名为“这个指针”。this
关于为什么它是一个指针,这篇 SO 帖子可能会有所帮助。
或者看看 C++17 标准是怎么说的。
§12.2.2.1 此指针表示:
关键字是 prvalue 表达式,其值 是为其调用函数的对象的地址。在类的成员函数中,this 的类型是 。
this
X
X*
评论