I just stumbled across this: When postifix incrementing a bool twice, the integer value still is 1 instead of the expected 2. I'd like to know why this happens.
bool test = false; // results in integer 0
test++; // results in integer 1
test++; // results in integer 1
// but there still is at least one byte of memory used:
// results in integer 137
*(unsigned char*)(&test) = 137;