Ein-Byte-Bool. Warum?

Warum benötigt ein Bool in C ++ ein Byte, um true oder false zu speichern, wozu nur ein Bit ausreicht, z. B. 0 für false und 1 für true? (Warum benötigt Java auch ein Byte?)

Zweitens, wie viel sicherer ist es, Folgendes zu verwenden?

struct Bool {
    bool trueOrFalse : 1;
};

Drittens, auch wenn es sicher ist, wird die obige Feldtechnik wirklich helfen? Seit ich gehört habe, dass wir dort Platz sparen, aber immer noch vom Compiler generierten Code, um darauf zuzugreifen, größer und langsamer ist als der Code, der für den Zugriff auf die Grundelemente generiert wird.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage