Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: 4dr14n31t0r en 18 Septiembre 2016, 18:55 pm



Título: char16_t, char32_t y wchar_t. ¿Para que estan?
Publicado por: 4dr14n31t0r en 18 Septiembre 2016, 18:55 pm
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.


Título: Re: char16_t, char32_t y wchar_t. ¿Para que estan?
Publicado por: ivancea96 en 18 Septiembre 2016, 20:33 pm
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.