C++相当于Java this
在 Java 中,您可以通过执行以下操作来引用当前对象:。你是如何在C++做到这一点的?this.x = x
假定这些代码示例中的每一个都是名为 的类的一部分。Shape
爪哇岛:
public void setX(int x)
{
this.x = x;
}
C++:
public:
void setX(int x)
{
//?
}
在 Java 中,您可以通过执行以下操作来引用当前对象:。你是如何在C++做到这一点的?this.x = x
假定这些代码示例中的每一个都是名为 的类的一部分。Shape
爪哇岛:
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