this->textBox1->Name = L"textBox1";
Aunque parece funcionar sin el L, ¿cuál es el propósito del prefijo? La forma en que se usa ni siquiera tiene sentido para un programador de C incondicional.
this->textBox1->Name = L"textBox1";
Aunque parece funcionar sin el L, ¿cuál es el propósito del prefijo? La forma en que se usa ni siquiera tiene sentido para un programador de C incondicional.
Respuestas:
'L' significa wchar_tque, a diferencia de un carácter normal, requiere 16 bits de almacenamiento en lugar de 8 bits. Aquí hay un ejemplo:
"A" = 41
"ABC" = 41 42 43
L"A" = 00 41
L"ABC" = 00 41 00 42 00 43
A wchar_tes dos veces más grande que un simple personaje. En el uso diario, no necesita usar wchar_t, pero si usa windows.h, lo va a necesitar.
Esto significa que se trata de un carácter ancho, wchar_t.
Similar a 1Lser un valor largo.
Significa que es una matriz de caracteres anchos ( wchar_t) en lugar de caracteres estrechos ( char).
Es solo una cadena de un tipo diferente de carácter, no necesariamente una cadena Unicode .
L es un prefijo utilizado para cadenas anchas. Cada carácter usa varios bytes (dependiendo del tamaño de wchar_t). La codificación utilizada es independiente de este prefijo. Quiero decir que no debe ser necesariamente UTF-16, a diferencia de lo que se indica en otras respuestas aquí.