this->textBox1->Name = L"textBox1";
Bien que cela semble fonctionner sans le L
, quel est le but du préfixe? La façon dont il est utilisé n'a même pas de sens pour un programmeur C hardcore.
this->textBox1->Name = L"textBox1";
Bien que cela semble fonctionner sans le L
, quel est le but du préfixe? La façon dont il est utilisé n'a même pas de sens pour un programmeur C hardcore.
Réponses:
«L» signifie wchar_t
, qui, contrairement à un caractère normal, nécessite 16 bits de stockage au lieu de 8 bits. Voici un exemple:
"A" = 41
"ABC" = 41 42 43
L"A" = 00 41
L"ABC" = 00 41 00 42 00 43
A wchar_t
est deux fois plus grand qu'un simple caractère. Dans l'utilisation quotidienne, vous n'avez pas besoin d'utiliser wchar_t, mais si vous utilisez windows.h, vous en aurez besoin.
Cela signifie qu'il est un caractère large, wchar_t
.
Semblable à 1L
une valeur longue.
Cela signifie que c'est un tableau de caractères larges ( wchar_t
) au lieu de caractères étroits ( char
).
C'est juste une chaîne d'un type de caractère différent, pas nécessairement une chaîne Unicode .
L est un préfixe utilisé pour les chaînes larges. Chaque caractère utilise plusieurs octets (selon la taille de wchar_t
). Le codage utilisé est indépendant de ce préfixe. Je veux dire qu'il ne doit pas nécessairement être UTF-16 contrairement à ce qui est indiqué dans d'autres réponses ici.