prueba de bool;¿Cómo se almacena una variable de tipo bool en la memoria? (C++)
sizeof(test) = 1
si usa VS 2010. Dado que cada tipo de datos C++ debe ser direccionable, la variable bool "de prueba" es de 8 bits (1 byte).
Mi pregunta es si la variable "test" realmente ocupa 1 byte en la memoria?
¿Hay alguna habilidad de implementación que pueda hacer que el tipo de datos bool ocupen solo un bit? Si es así, ¿puedes darme un ejemplo?
bool test1[32]
(en VS 2010), int test2
(en VS 2010)
Haz test1
y test2
ocupan la misma memoria?
Quisiera hacer hincapié en que podría ser razonable para una plataforma para almacenar un valor lógico de 4 bytes en un 32- máquina de bits cuando hiper-optimiza la velocidad. Entonces, si tuviera 4 booleanos en una estructura, solo necesitaría una sola operación de ALU para verificar si un bool es verdadero, en comparación con dos cuando hay muchos booleanos empaquetados en una palabra de máquina. (Ofc una diferencia tan pequeña normalmente no es importante en absoluto). – Kos
Algunos procesadores integrados en realidad tienen memoria direccionable de bits, de modo que la variable bool puede ocupar un bit. –