If you move all the bool member data to the end if the class you would avoid extra padding the compiler has to generate in this case, i.e you would make the class smaller. In general, it is best to order member data by size starting with the largest (items larger than the size of a pointer are all treated as the  size of a pointer for this comparison). That way, the only possible padding would happen at the end if the class and not in its middle.