test di boolea;Come viene memorizzata una variabile di tipo bool in memoria? (C++)
sizeof(test) = 1
se si utilizza VS 2010. Poiché ogni tipo di dati C++ deve essere indirizzabile, la variabile bool "test" è 8 bit (1 byte).
La mia domanda è che la variabile "test" occupa davvero 1 byte in memoria?
Esiste qualche abilità di implementazione che può rendere il tipo di dati bool occupare solo un bit? Se sì, puoi darmi un esempio?
bool test1[32]
(in VS 2010), int test2
(in VS 2010)
fare test1
e test2
occupano la stessa memoria?
vorrei sottolineare che potrebbe essere ragionevole per una piattaforma per memorizzare un valore booleano in 4 byte su un 32- bit machine quando iper-ottimizzazione per la velocità. Quindi se avessi 4 booleani in una struttura, avresti solo bisogno di una singola operazione ALU per verificare se un bool è vero, rispetto a due quando ci sono molti booleani confezionati in una parola macchina. (Di solito una piccola differenza non è affatto importante.) – Kos
Alcuni processori incorporati hanno effettivamente una memoria bitable indirizzabile, in modo che la variabile bool possa occupare un bit. –