位域:
C++中有一种被称为 位域( bit_field )的特殊类数据成员
他可以被声明用来存放特定数目的位, 他可以是有符号也可以是无符号
"一般来说 把位域设置为无符号类型,,如果设置为有符号类型 会有符号位干扰"
以下是参考程序:
#include "head.h"
#include <iostream>
using namespace std;
class BitFile
{
public:
unsigned int m_Bit_1 : 1;
unsigned int m_Bit_2 : 2;
};
enum
{
Read = 0,
Write = 1,
ReadAll = 00,
WriteAll = 01,
};
int main( int argc, char *argv[] )
{
BitFile bit;
bit.m_Bit_1 = Write;
bit.m_Bit_2 = WriteAll;
if( bit.m_Bit_1 == Read )
{
cout << "Read";
}
else if( bit.m_Bit_1 == Write )
{
cout << "Write";
}
if( bit.m_Bit_2 == ReadAll )
{
cout << "ReadAll";
}
else if( bit.m_Bit_2 == WriteAll )
{
cout << "WriteAll";
}
return 0;
}