Java에서는 다음을 수행하여 현재 오브젝트를 참조 할 수 있습니다. this.x = x
. 어떻게 C++에서 이것을합니까?Java와 동등한 C++이
이러한 코드 예제는 각각 Shape
클래스의 일부라고 가정합니다.
자바 :
public void setX(int x)
{
this.x = x;
}
C++ :
public:
void setX(int x)
{
//?
}
Java에서는 다음을 수행하여 현재 오브젝트를 참조 할 수 있습니다. this.x = x
. 어떻게 C++에서 이것을합니까?Java와 동등한 C++이
이러한 코드 예제는 각각 Shape
클래스의 일부라고 가정합니다.
자바 :
public void setX(int x)
{
this.x = x;
}
C++ :
public:
void setX(int x)
{
//?
}
는 C++ 상응하는 this
입니다,하지만 몇 가지 차이점이 있습니다.
이것은 참조 개체가 아닌 해당 개체에 대한 포인터입니다. 따라서 필드 나 메서드에 액세스하기 전에 포인터 역 참조 연산자를 사용해야합니다.
this->method(...)
this->field
같은 더 인기있는 구문을 사용하여
또는, 단지 그것 때문에 다른 간접 연산자를 사용하여 포인터 :'this->' – Cechner
this-> X = X; ... ......... – Joe
회원에게 액세스하는 대부분의 작업에 보통 'this'가 필요하지 않습니다. 'this'를 명시 적으로 사용하는 것은 상황에 따라 상당히 다릅니다 (예 : 포인터를 구성원 함수로 호출 할 때). –