저는 C++로 오랫동안 프로그래밍되어 있었고 아직 한 가지에 대해 의심이 있습니다. 다른 사람의 코드에서 많은 장소에서 나는 같은 것을 참조 : 나는/가져 그 코드를 사용해야하는 경우이것을 사용하는 이유가 있습니까?>
void Classx::memberfunction()
{
this->doSomething();
}
, 나는 단순히 this-> 부분을 제거를, 나는 깨진 또는 일부를 갖는 것을 본 적이 없다 부작용.
void Classx::memberfunction()
{
doSomething();
}
그래서 이러한 구조를 사용하는 이유는 무엇입니까?
편집 : 여기서는 멤버 함수에 대해 설명하고 변수는 아닙니다. 멤버 변수와 함수 매개 변수를 구별하고자 할 때 사용할 수 있음을 이해합니다.
편집 : 명백한 중복 : Are there any reasons not to use "this" ("Self", "Me", ...)?
회원 이름을 해결할 수있는 또 다른 방법은 아무도 없다고합니다. http://en.wikipedia.org/wiki/Scope_resolution_operator를 사용하여 예 : Classx :: doSomething(); –
함수에 적용하면 가상 함수의 어떤 버전이 호출되는지 보장하는 효과가 있으며 다형성을 방지하고 일반적으로 재정의 된 함수의 부모를 호출하는 데 사용됩니다. 이것은 doSomething()의 안전한 등가물이 아닙니다. –
사실이 경우에 대해 잊어 버렸습니다. Andy에게 감사드립니다. –