• Anders429@programming.dev
      link
      fedilink
      arrow-up
      35
      ·
      1 day ago

      It would be slower to read the value if you had to also do bitwise operations to get the value.

      But you can also define your own bitfield types to store booleans packed together if you really need to. I would much rather that than have the compiler do it automatically for me.

    • timhh@programming.dev
      link
      fedilink
      arrow-up
      24
      ·
      1 day ago

      Well there are containers that store booleans in single bits (e.g. std::vector<bool> - which was famously a big mistake).

      But in the general case you don’t want that because it would be slower.

    • gamer@lemm.ee
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      edit-2
      24 hours ago

      Consider what the disassembly would look like. There’s no fast way to do it.

      It’s also unnecessary since 8 bytes is a negligible amount in most cases. Serialization is the only real scenario where it matters. (Edit: and embedded)

      • Croquette@sh.itjust.works
        link
        fedilink
        arrow-up
        4
        ·
        15 hours ago

        In embedded, if you are to the point that you need to optimize the bools to reduce the footprint, you fucked up sizing your mcu.