태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
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 을 이해하는것은 윈도 프로그래밍을 함에 있어서 중요한 개념을
이해하는 것입니다.

계속적으로 자료들을 덧붙여 나가도록 하겠습니다.
저작자 표시 비영리 변경 금지
Creative Commons License
Creative Commons License
http://www.iamscavenger.com/trackback/40 관련글 쓰기
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. 야옹양:D 2008/11/05 00:44  댓글주소  수정/삭제  댓글쓰기

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