> >_Bool is a notational convenience, maybe helping document functions
> >returning only pass/fail status, or for the isalpha(2) family of
> >functions.
Charles Forsyth wrote:
> no, since its type is different from that produced by the logical
> and equality operators (eg, ! and ==) which are still int!
> it's a  unsigned integer type with a limited range (0 or 1), a special
> conversion rule, and of course a peculiar name (not even _bool!).
> pointless tinkering.

Actually we expect that _Bool will be used only via the typedef
"bool" in <stdbool.h>.  The reason for the spelling was to use
an identifier that was within the namespace already reserved
for C implementors, so as not to impact any existing code.
Similarly for the complex type(s).

Note also that _Imaginary is not required by C99.  There was
considerable debate about the utility (or not) of a purely
imaginary type, in the end deciding that there was insufficient
utility to require it.

There are reasons behind all of the C standards committee's
decisions.  Often they reflect practical constraints such as
wanting not to conflict with existing strictly-conforming code.

If VS2005's wchar_t is truly not assignable then it doesn't
conform to the C standard.

Reply via email to