프로그래밍/c++

[c++] this 포인터

rrruu 2018. 12. 19. 09:26
반응형

c++ 에서 class를 작성할때 class내부의 변수와 메서드의 파라미터의 변수의 이름이 같을경우

메서드 구현시 변수를 사용하면 class 내부의 변수를 사용하는건지 파라미터의 변수를 사용하는건지

의미가 모호해 질 수가 있다. 이럴 경우에 this포인터를 사용하여 모호성을 해소를한다.


this 포인터를 사용하면 내부의 변수를 사용한다는 의미를 갖게하고

사용하지 않을 경우 파라미터의 변수를 사용한다는 의미를 갖게 한다.

1
2
3
4
5
6
7
class test_class{
public:
    int value;
    void set_value(int value){
    this->value = value;
    }
};
cs

위의 코드에서 this->value는 위에 선언된 클래스 내부 변수 value를 가르키고

값으로 받는 value는 set_value의 파라미터인 value값을 받는다.




반응형