Привет. Есть структура вида:
struct {
struct {
unsigned a : 1;
unsigned b : 1;
...
} p;
} MyStruct;
Покумекал тут. Вносите царя, короче:
bool pChanged = false;
int numberOfBytes = sizeof(((MyStruct*)0 )->p) / sizeof(int);
int* pBitField = reinterpret_cast<int*>(&myStruct.p);
while (numberOfBytes > 0) {
if (*pBitField) {
pChanged = true;
break;
}
++pBitField;
--numberOfBytes;
}