this->textBox1->Name = L"textBox1";
虽然它似乎没有L
,但前缀的目的是什么?它的使用方式对于核心C程序员来说甚至都没有意义。
答案 0 :(得分:119)
对于扩展字符集,它是wchar_t
字面值。 Wikipedia对此主题以及c ++示例进行了一些讨论。
答案 1 :(得分:67)
'L'表示wchar_t
,与普通字符相反,它需要16位存储而不是8位。这是一个例子:
"A" = 41
"ABC" = 41 42 43
L"A" = 00 41
L"ABC" = 00 41 00 42 00 43
wchar_t
是简单字符的两倍大。在日常使用中,您不需要使用wchar_t,但如果您使用的是windows.h,则需要它。
答案 2 :(得分:17)
这意味着文本存储为wchar_t
个字符,而不是普通的旧char
字符。
(我最初说它意味着unicode。我错了。但它可以用于unicode。)
答案 3 :(得分:12)
这意味着它是一个宽字符wchar_t
。
类似于1L
是一个很长的值。
答案 4 :(得分:12)
这意味着它是一个宽字符数组(wchar_t
)而不是窄字符(char
)。
这只是一串不同类型的字符,不一定是Unicode字符串。
答案 5 :(得分:10)
L是用于宽字符串的前缀。每个字符使用几个字节(取决于wchar_t
的大小)。使用的编码与此前缀无关。我的意思是它不一定必须是UTF-16,这与其他答案不同。