次の (簡略化された) コードを考えてみましょう。
enum eTestMode
{
TM_BASIC = 1, // 1 << 0
TM_ADV_1 = 1 << 1,
TM_ADV_2 = 1 << 2
};
...
int m_iTestMode; // a "bit field"
bool isSet( eTestMode tsm )
{
return ( (m_iTestMode & tsm) == tsm );
}
void setTestMode( eTestMode tsm )
{
m_iTestMode |= tsm;
}
これは信頼性が高く、安全で、適切な方法ですか? または、列挙型の代わりに const int を使用する以外に、やりたいことを達成するためのより良い方法はありますか? 私は本当に列挙型を好みますが、コードの信頼性は読みやすさよりも重要です。