struct obj
{
bool var0;
bool var1;
bool var2;
bool var3;
.... // more member variable, i don,t want implement it as array
};
int main{
Obj Obj;
Obj.var0 = 0;
Obj.var0 = 1;
Obj.var0 = 0;
Obj.var0 = 1;
unsigend t = 0;
// how can i continue it ?
}
unsigned bitstream = 0;
bitstream <<= 1;//shifts bitstream left, so that there is a new first bit
bitstream |= var0;//bitwise OR sets first bit in bit stream if var0 is set
//repeat the last two lines for each var
Now, even though it is not an official array, it is a sequense, so you can treat it almost as an array.
1 2 3 4 5 6
bool* var = &var0;
unsigned bitstream = 0;
for(int i = 0; i < /*...*/; i++){
bitsrteam <<= 1;
bitstream |= var[i];
}