Re: [問題] 簡潔的boolean比較寫法?
※ 引述《thanksgive (乾溫)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: C++
: 問題(Question):
: 我有五個bool變數,
: 然後會根據變數來判斷分支
: 請問有比較簡潔的寫法嗎?
: (比方類似linux那樣,用數字0~7代表三個布林變數狀態)
#define STATUS1 0x01
#define STATUS2 0x02
#define STATUS3 0x04
#define STATUS4 0x08
#define STATUS5 0x10
#define IS_STATUS1_TRUE(BB) ( ((BB)>>0) &(0x01) )
#define IS_STATUS2_TRUE(BB) ( ((BB)>>1) &(0x01) )
#define IS_STATUS3_TRUE(BB) ( ((BB)>>2) &(0x01) )
#define IS_STATUS4_TRUE(BB) ( ((BB)>>3) &(0x01) )
#define IS_STATUS5_TRUE(BB) ( ((BB)>>4) &(0x01) )
#define MERGE_STATUS(AA, BB) ((AA) | (BB))
typedef unsigned char EightStatus;
EightStatus sts;
sts = MERGE_STATUS(STATUS3, STATUS4);
if(IS_STATUS1_TRUE(sts))
{
:
:
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.134.25
推
11/28 18:34, , 1F
11/28 18:34, 1F
→
11/28 18:36, , 2F
11/28 18:36, 2F
→
11/28 18:41, , 3F
11/28 18:41, 3F
→
11/28 18:42, , 4F
11/28 18:42, 4F
推
11/28 18:44, , 5F
11/28 18:44, 5F
→
11/28 18:44, , 6F
11/28 18:44, 6F
推
11/28 18:47, , 7F
11/28 18:47, 7F
→
11/28 18:48, , 8F
11/28 18:48, 8F
推
11/28 18:49, , 9F
11/28 18:49, 9F
推
11/29 09:03, , 10F
11/29 09:03, 10F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):