MFC 를 하다보면 LPCSTR 를 이용해 CString 을 type casting 해 줄 일이 많습니다.

그럼, LPCTSTR 이란 뭘까요? 또한 LPCTSTR 뿐만이 아니라 LPCWSTR, LPSTR 등등
많습니다.
본론부터 말하자면, LPCTSTR 은 const char * 타입으로 typedef 되어 있습니다.
왜 그럼 해당 자료형을 그대로 쓰지않고 LPCTSTR 로 typedef 하여 사용하는것 일까요?
귀차니즘을 가지신 분들을 위해 따로 링크를 드립니다. 여기를 눌러주세요.
일단 중요하게 짚고 넘어가야할 점은, LPCTSTR 은 C++ 에 원래부터 있던 기본 자료형이
아니라는 것입니다.
그리고, 이러한 LPCTSTR 의 캐스팅을 지원해주는 변환함수가 클래스 내부에
존재해야 한다는 점입니다.
변환함수라고 하면 조금 생소히 들릴지도 모르나, operator 라던가, 변환생성자에 대해
알고계시다면 쉽게 접근이 가능합니다.
이 부분에 관한 자세한 이론적, 기술적 설명은 '닷넷 프로그래밍 정복' 의 저자이기도
하신 김상형님이 운영하고 계신 http://www.winapi.co.kr 에서 보실 수 있습니다.
여기를 클릭하세요.
다음은 제가 int 자료형을 My_LPCTSTR 으로 typedef 한 후에 간단한 클래스 AAA 를
만들어 본 것입니다.
변환함수에서 return 을 할 때, 명시적으로 다시 한번 캐스팅을 할 필요가 없습니다.
컴파일러가 캐스팅을 진행합니다.
LPCTSTR 을 이해하는것은 윈도 프로그래밍을 함에 있어서 중요한 개념을
이해하는 것입니다.
계속적으로 자료들을 덧붙여 나가도록 하겠습니다.






ㅋㅋㅋㅋㅋ난 다 까먹음 ㄷㄷㄷ