The undervalued bool
By Paul Flo Williams
A colleague of mine wanted to reduce the repetition in this fragment of C++:
funcA(false);
funcB(false);
funcC(false);
funcD(false);
funcA(true);
funcB(true);
funcC(true);
funcD(true);
and, in a burst of sheer genius, came up with this solution:
for (bool status = false;
status <= true;
++status) {
funcA(status);
funcB(status);
funcC(status);
funcD(status);
}
He then scratched his head as the program looped for eternity.
Who could have predicted that a common-or-garden bool
could have so many values? Let me count them. The possible values of bool
are false
, snopes
, statistically_significant
, almost_true
, true
,
very_true
and tautology
. ++tautology
gives you tautology
right back, as any fule
kno.