C++ 中“*this”的含义 [duplicate]

The meaning of "*this" in C++ [duplicate]

提问人:El Mehdi I. 提问时间:4/30/2021 最后编辑:Remy LebeauEl Mehdi I. 更新时间:4/30/2021 访问量:708

问:

vecteur& vecteur::operator+=(const vecteur& autre)
{
    x += autre.x;
    y += autre.y;
    z += autre.z;
    return *this;
}

在这种情况下意味着什么?*this

有没有可能以不同的方式称呼它,比如简单地?return vecteur

C++ 指针

评论

0赞 463035818_is_not_an_ai 4/30/2021
vecteur是一个类型,是一个值*this
0赞 Scott Hunter 4/30/2021
vecteur是一个类型,因此无法返回。(如果你有 2 个变量,则为图片;这样的语句会返回哪个?vecteur
2赞 user4581301 4/30/2021
关于这一点的方便文档,因为它被证明有微妙之处和边缘的一些怪癖。this

答:

2赞 Nasrat Takoor 4/30/2021 #1

this是指向正在调用该方法的对象的指针。 该指针是否被取消引用(即访问实际对象本身)。*this