const 위치에 따른 역할 정리
class Test
{
public:
Test();
virtual ~Test();
public:
C2DMatrix GetFromScreenToWorld() const
{
C2DMatrix mtxToWorld = m_mtxView * m_mtxScale * m_mtxProj * m_mtxScreen;
CVectorOperation::C2DInverse(&mtxToWorld, &mtxToWorld);
return mtxToWorld;
}
const Test GetThisClass()
{
return *this;
}
protected:
C2DMatrix m_mtxView;
C2DMatrix m_mtxScale;
C2DMatrix m_mtxProj;
C2DMatrix m_mtxScreen;
C2DMatrix m_mtxRatio;
C2DVector m_vPosW;
C2DVector m_vUpW;
C2DVector m_vRightW;
};
GetFromScreenToWorld() const : 해당 const는 이 함수로 인한 멤버변수의 값 변경을 막기 위해 사용합니다.
const Test GetThisClass() : 해당 const는 리턴할 때 해당 값을 가지고 또 다른 무언가를 실행함으로인한 값 변경을 막아줍니다.
예시) GetThisClass()->m_vPosW = 15; //에러 발생
참고)
'C,C++ > 공부 낙서' 카테고리의 다른 글
공부하면서 빠트린 것들 끄적끄적 - 연산자 (0) | 2022.11.18 |
---|---|
공부하면서 빠트린 것들 끄적끄적 - 템플릿, 타입ID (0) | 2022.11.16 |
공부하면서 빠트린 것들 끄적끄적 - 가상함수, 형변환 (0) | 2022.11.15 |
공부하면서 빠트린 것들 끄적끄적 - 헤더 참조 (0) | 2022.11.07 |
공부하면서 빠트린 것들 끄적끄적 - 문자열, 배열, 클래스 (0) | 2022.11.03 |