c++相当于Java的this

C++ equivalent to Java this

本文关键字:this Java 相当于 c++      更新时间:2023-10-16

在Java中,您可以通过执行:this.x = x来引用当前对象。在c++中如何做到这一点呢?

假设这些代码示例都是Shape类的一部分。

Java:

public void setX(int x)
{
this.x = x;
}
c++:

public:
void setX(int x)
{
//?
}

同义:this

唯一的区别是它是一个指针,所以您需要使用->操作符:

void setX(int x)
{
    this->x = x;
}

c++的等价是this,但有一些不同。

这是指向所讨论对象的指针,而不是引用;因此,在访问字段或方法之前,必须使用指针解引用操作符。

(*this).method(...)
(*this).field

或者使用更流行的语法

this->method(...)
this->field    

c++等效的是this;