【发布时间】:2013-02-01 07:37:35
【问题描述】:
传统上,C 直到 C99 才定义布尔值。因此,搜索头文件以了解创建布尔值的优化方法是:
Windows.h [Microsoft C++]
---------
typedef int BOOL;
//false
#ifndef FALSE
#define FALSE 0
#endif
//true
#ifndef TRUE
#define TRUE 1
#endif
在 Tipo Booleano C 中定义
#if (__BORLANDC__ <= 0x460) || !defined(__cplusplus)
typedef enum { false, true } bool;
#endif
由 c-faq.com 第 9 节提供
typedef enum {false, true} bool;
在 objc.h 中,布尔值定义为:
typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#define OBJC_BOOL_DEFINED
#define YES (BOOL)1
#define NO (BOOL)0
在stackoverflow.com上回答一些问题
typedef enum { False = 0, True = 1 } Bool;
#define bool Bool
#define true True
#define false False
哪一种是最优化的方式?
【问题讨论】:
-
在内存使用、速度、便携性等方面进行了优化...?
-
@alk 是的,在各个方面都经过优化。
-
为什么你有两个配置文件?他们俩都问同样的问题?
标签: c gcc cross-platform boolean visual-c++-6