U E D R , A S I H C RSS

Hardcore Cpp Study/두번째숙제/This포인터/변준원

그건 자기 자신을 가르키는 겁니다

예를 들어 class A가 있으면

그 클래스 내부에서 this는 자신 A의 포인터를 가르키는것이죠

클래스 내부 함수 f가 있다면

f()로 클래스 내부에선 호출이 가능한데 정확히 this->f()에서 this가 생략된 형이죠

this가 쓰이는 곳은

만약 class A와 class B가 있다면

class A에서 class B의 내부함수를 호출하는데

class B에서 class A의 프로퍼티나 메쏘드를 접근할 필요성이 있다면

class A에서 class B의 내부함수 호출시에 this라는 인자를 넘겨줍니다

그러면 B클래스에서 A클래스의 포인터를 받을수 있기 때문에 A라는 클래스에

접근할 수 있게 되는것이죠






클래스 멤버내의 함수에서 자신의 함수를 호출할때 명시적 또는 묵시적으로 사용하는

포인터입니다.

예를 들면...

class c라는 함수에 GetA라는 함수가 있다고 하고 SaveA라는 함수를 만든다고

했을때 Save함수 내에 GetA라는 함수를 호출한다고 하면 다음과 같이 사용이

가능합니다.

this->GetA();
또는 GetA();

뒤의 GetA에서는 this가 생략된 것이죠.

다른 클래스의 함수에서 c라는 클래스의 포인터로 GetA를 호출한다고 하면

pc->GetA();가되는 것이죠.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:21
Processing time 0.0137 sec