Yes you are correct: enum { value = true };
doesn't occupy any memory.
Furthermore, prior to C++11 it was pretty much the only way of achieving this: static const bool value = true;
is only legal in a class definition from C++11 onwards. Although a constexpr
might be preferred.