我有一個像枚舉(這只是一個例子):以格式標誌清晰的方式檢查
enum tStates
{
STOP = (1<<0),
PLAYING = (1<<1),
SYNCHRONISING = (1<<2),
READY_TO_PLAY = (1<<3),
CONNECTED = (1<<4),
}
所以可以這樣玩,同時連接在一次等等多個狀態是可能。 我需要測試不同的狀態,例如:
if (m_pDeviceHealth->getHealth().isSet(PLAYING))
{
}
else if (m_pDeviceHealth->getHealth().isSet(STOP))
{
}
它往往變得相當大,難以閱讀。
有沒有更清晰的方法來檢查標誌?例如可以使用開關嗎?
按位OR如何?例如。 '連接| SYNCHRONISING' –
查看[this Q/A](http://stackoverflow.com/questions/47981/how-do-you-set-clear-and-toggle-a-single-bit-in-cc)按位運營商 – Griddo
更新了問題 – dyesdyes