maria-developers team mailing list archive
Mailing list archive
Re: TRUE vs true
yes, it is not a requirement to use true/false in C++.
I'd be Ok about my_bool if not one glitch: it can evaluate to anything that
char can evaluate to. C99 bool behaves more as expected:
_Bool (also accessible as the macro bool) - type, capable of holding one of the
two values: 1 and 0 (also accessible as the macros true and false). Note that
conversion to _Bool does not work the same as conversion to other integer types:
(bool)0.5 evaluates to 1, whereas (int)0.5 evaluates to 0.
I'd vote for bool/true/false everywhere if I were sure about it's portability
and about sizeof(_Bool) stability.
On Thu, Apr 23, 2015 at 11:02:16AM +0200, Oleksandr Byelkin wrote:
> On 23.04.15 10:14, Sergey Vojtovich wrote:
> >According to MySQL coding guidelines:
> >* In C code, use TRUE and FALSE rather than 1/0
> >* In C++ code, it is OK to use true and false (do not use 1/0). You can use C++
> > bool/true/false when calling C functions (values will be safely promoted to
> > my_bool).
> "It is OK" == "it is allowed to use it." (about true/false)
> you have not use 1/0
> and TRUE/FALSE must in C and OK in C++ (there is no other told)
> So I should carefully check what code it is or just use TRUE/FALSE?
> I prefer TRUE/FALSE everywhere.