2012-06-12 82 views
4

我看到一些字符常量符號在C++代碼看起來陌生的我。請教育我:C++字符常量符號

if (dc == L' '){ 

L表示什麼?

它是標準的一部分?

謝謝,

LANG2

回答

6

這是一個字面指定器,其轉換爲寬字符(或寬字符數組)的字符或字符數組。

L'a'wchar_t相當於char'a'

如果您習慣於windows開發,那麼它相當於_T()如果UNICODE被定義。

+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。)