我有一个像枚举(这只是一个例子):以格式标志清晰的方式检查
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