actually #define is better... here's why. This is subtle, but useful.

In case of some compilers, a "const bool FOO = true" will actually allocate memory in the "static" memory space. And then references to this will use memory operations to access this.

#define on the other hand, will be replaced by the parser/tokenizer portion of the compiler and not appear in run time.

I will check on this, but I'm pretty sure this is always true and better for simple types like bools, ints, etc.