kyuseo의 게임 프로그래밍
CString str = NULL ? str.Compare( NULL ) ? 본문
개요.. |
CString은 MFC 클래스 중에서도 가장 많이 사용하는 클래스 입니다. 하지만 몇몇 함수는 올바른 것인지 아닌지 명확하게 알 필요성이 종종 있습니다.
CString 의 operator()= 함수는 인자로 NULL을 대입하여도 작동이 잘 됩니다.
CString 의 Compare() 함수는 인자로 NULL을 대입하면 오류가 발생합니다.
코드 |
{ char* sz = NULL; CString str1 = NULL; // <---- 정상작동됨 CString str2 = sz; // <---- 정상작동됨 ASSERT( str == "" ); }
{ char* sz = NULL; CString str = "Test"; int n1 = str.Compare( sz ); // <----- 오류발생 int n2 = strcmp( str, sz ); // <----- 오류발생 } |