Saltar al contenido

es el tamaño de (bool) definido en el estándar de lenguaje C++?

Este grupo de especialistas despúes de muchos días de investigación y recopilar de información, obtuvimos los datos necesarios, queremos que te sea útil para tu proyecto.

sizeof(bool) está definida la implementación, y el estándar pone un énfasis notable en este hecho.

§5.3.3/1, abreviado:

sizeof(char), sizeof(signed char) y sizeof(unsigned char) son 1; el resultado de sizeof aplicada a cualquier otro tipo fundamental está definida por la implementación. [Note: in particular, sizeof(bool) and sizeof(wchar_t) are implementation-defined.69)]

Nota al pie 69):

sizeof(bool) no es necesario que sea 1.

http://msdn.microsoft.com/en-us/library/tf4dy80a.aspx

“En Visual C++ 4.2, los archivos de encabezado de C++ estándar contenían un typedef que equiparaba bool con int. En Visual C++ 5.0 y versiones posteriores, bool se implementa como un tipo incorporado con un tamaño de 1 byte. Eso significa que para Visual C++ 4.2, una llamada de sizeof(bool) da como resultado 4, mientras que en Visual C++ 5.0 y versiones posteriores, la misma llamada da como resultado 1. Esto puede causar problemas de corrupción de memoria si ha definido miembros de estructura de tipo bool en Visual C++ 4.2 y están mezclando archivos de objetos (OBJ) y/o DLL creados con los compiladores 4.2 y 5.0 o posteriores”.

Su implementación definida. Solamente sizeof(char) es 1 por el estándar.

Valoraciones y reseñas

Recuerda dar recomendación a este tutorial si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *