this->textBox1->Name = L"textBox1";
Хоча, здається, працює і без L
, яка мета префікса? Спосіб його використання навіть не має сенсу для хардкор-програміста C.
this->textBox1->Name = L"textBox1";
Хоча, здається, працює і без L
, яка мета префікса? Спосіб його використання навіть не має сенсу для хардкор-програміста C.
Відповіді:
Це wchar_t
буквально, для розширеного набору символів. У Вікіпедії є невелика дискусія з цієї теми та приклади c ++.
'L' означає wchar_t
, що, на відміну від звичайного символу, вимагає 16-бітового сховища, а не 8-бітового. Ось приклад:
"A" = 41
"ABC" = 41 42 43
L"A" = 00 41
L"ABC" = 00 41 00 42 00 43
A wchar_t
вдвічі більший, ніж звичайний char. У щоденному використанні вам не потрібно використовувати wchar_t, але якщо ви використовуєте windows.h, вам це знадобиться.
Це означає, що це масив широких символів ( wchar_t
) замість вузьких символів ( char
).
Це просто рядок символів іншого типу, не обов'язково рядок Unicode .
L - приставка, яка використовується для широких рядків. Кожен символ використовує кілька байтів (залежно від розміру wchar_t
). Використовуване кодування не залежить від цього префікса. Я маю на увазі, що він не повинен бути обов'язково UTF-16 на відміну від заявлених в інших відповідях тут.