2012-06-12 2 views
4

나는 외계인처럼 보이는 C++ 코드에서 문자 상수 표기법을보고 있습니다. 이것에 대해 저에게 교육하십시오 :C++ 문자 상수 표기

if (dc == L' '){ 

L은 무엇을 나타내는가?

표준의 일부입니까?

감사

LANG2

답변

6

그것은 다양한 문자 (또는 와이드 문자 배열)로 문자 나 문자 배열을 변환하는 매크로 리터럴 지정자이다.

L'a'char'a'에 해당하는 wchar_t입니다.

Windows 개발에 익숙하다면UNICODE을 정의하면 _T()과 같습니다.

+4

전혀 아닙니다. 'L'은 'U'와 같은 리터럴 지정자입니다. –

+1

답해 주셔서 감사합니다. 하지만 그것은 ISO 표준의 일부입니까? – lang2

+0

@KerrekSB는 그것을 몰랐습니다. 나는'_T' 매크로를 사용하는 데 익숙하다. 나는'L'도 사용하는 것으로 생각했다. –

12

L은 리터럴 지정자입니다. 문자의 경우 wchar_t을 의미하므로 L'a' 유형은 wchar_t입니다. 문자열의 경우 "wchar_t 배열"을 의미하므로 L"hello"wchar_t[6]입니다. (정수의 경우 길이가 길기 때문에 1Llong int입니다.)