char16_t, char32_t y wchar_t. ¿Para que estan?

Iniciado por 4dr14n31t0r, 18 Septiembre 2016, 18:55 PM

0 Miembros y 1 Visitante están viendo este tema.

4dr14n31t0r

Cuando creo variables de estos tipos y le asigno un caracter, cuando lo imprimo por pantalla tengo que hacerle casting de char para ver el caracter. ¿Para que sirven entonces? Ya hay tipos de variables con el mismo tamaño que estos.

ivancea96

Igual que uint8_t, int16_t, int32_t...
Te aseguran el tamaño de la variable, en bits.

El caso de esos tipos essimplementa para ser usados con toras codificaciones. Cada caracter de UTF-16, por ejemplo, utiliza hasta 2 bytes,16 bits. Para ello, podrías usar char16_t.

Si no necesitas los tipos, o los uses. Rara vez los utilizarás explícitamente. Pero están ahí para cuando se necesiten.


No se muestran como caracter, sino como número. Eso es porque realmente lo que son es eso, números. La única excepción es el entero de 8 bits (char8_t, char, int8_t), que se muestra como caracter.