일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 윈윈전략
- holdem
- 윈윈
- 고스톱
- 옥션해킹
- 프로그램 개발
- 영어단어게임
- 써치아이
- 서치아이
- Mame32
- 포커게임
- 옥션소송
- 홀뎀
- 영어단어
- 맞고
- 게임 개발
- 카일레라서버
- 틀린그림찾기
- 포커
- 온라인게임
- 게임 외주
- 판매
- 틀린그림 찾기
- 프로그램 외주
- 상호링크
- 카일레라
- 티스토리 초대장
- 맞고게임
- MAME
- 보드게임
Archives
- Today
- Total
kyuseo의 게임 프로그래밍
클래스의 const 함수 내부에서 const 가 아닌 함수를 호출하는 방법 본문
개요.. |
클래스의 const 함수는 const 함수만을 호출 할 수 있습니다. 하지만 일반 클래스 함수를 호출 할 경우도 있는데 const 함수 에서 일반 함수를 호출하는 방법을 알려드립니다.
방법 |
함수 내부에서 this 포인터를 강제로 형변환하여 사용합니다.
예) CFile* pFile = (CFile*)this;
강제적으로 변환하기 때문에 위험합니다. 이와 같은 기법은 주의하여 사용합시다.
MFC CFile의 예제 코드 |
아래와 같이 CFile의 GetLength() 는 100% const 함수이지만, 내부적으로 const 가 아닌 함수를 사용하므로 컴파일 문제가 생깁니다.
이와 같은 경우 MFC에서는 이 기법을 이용하여 해결 하였습니다.
// MFC의 CFile 의 예
DWORD CFile::GetLength() const DWORD dwLen, dwCur;
// Seek is a non const operation
dwCur = pFile->Seek(0L, current); return dwLen; |