TGViewer
C++ - Reddit C++ - Reddit @r_cpp · 228 subscribers
Post #24054 23
How did they make a variable take only 1 bit of space?

Hello

While programming for a game in Unreal Engine, out of curiosity I decided to take a look at the memory layout of one of the classes I made, and I found an interesting thing: There are many boolean variables (defined as part of the UE class framework) that, instead of taking up one byte as they usually would, only take up one bit and are stacked one close to the other, saving space.

I have also noticed that those variables are not declared as bool, rather, as uint8.

I have thought about it and the only explanation I can come up with is that they declared a uint8 and used each bit of it as its separate variable, but now I wonder, how did they do that in plain C++? And if that's now how they did, what else did they do to pull that off?

This is not something I'm really asking to use, rather, just out of curiosity.

https://redd.it/1o6e172
@r_cpp
Reddit From the cpp community on Reddit Explore this post and more from the cpp community
More from @r_cpp
  1. Oct 14, 2026I tested whether a coding agent would use C++23 ranges without being told Blog post: https…
  2. Oct 14, 2026C++ futures part 1: The mental model https://devblogs.microsoft.com/oldnewthing/20261012-0…
  3. Oct 14, 2026C++ futures part 2: The mental model for std::promise, std::packaged_task https://devblogs…
  4. Oct 12, 2026[Release] slick-logger v2.2.0 — Lock-free asynchronous C++20 logging with multi-process sh…
  5. Oct 12, 2026Cheap alternative to reboot parameters (nohz, rcu, isolcpus) for stable benchmarks When no…
  6. Oct 12, 2026This C++ drama is crazy - Adobe votes no https://www.youtube.com/watch?v=DEqx_NMMH9Q https…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →