FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Architecture & Design
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
May 01, 2002
The New C:

bool, Advice to C and C++ Programmers

(Page 1 of 3)
Randy Meyers
True or False: The type bool behaves identically in C99 and C++. True or False: Your C89 bool hackery will survive unscathed under C99. Read and find out.
May 2002/The New C/Listing 1

Listing 1: My version of <stdbool.h>

/* An interim version of <stdbool.h> from C/C++ Users Journal
 * May 2002.  This file may be included from C90, C++, or C99
 * (but C99 should come with its own version).
 */

/* If C++, do nothing since bool is built in */
#if !defined(__cplusplus)

#  if !defined(__bool_true_false_are_defined)
#    define __bool_true_false_are_defined 1

     /* If this is C99 or later, use built-in bool */
#    if __STDC_VERSION__ >= 199901L
#      define bool _Bool
#    else
       /* Choose an unsigned type that can be used as a bitfield */
#      define bool unsigned char
#    endif

#    define true 1
#    define false 0
#  endif 

#endif /* !defined(__cplusplus) */

— End of Listing —
1 | 2 | 3 Next Page
RELATED ARTICLES
No Related Articles
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK