Casting an Int to a boolean Issue in C++ : If we assume that an int takes 4 bytes and a bool takes 1 byte, what happens to the other 3 bytes when an int is casted to a bool. do those bytes become free and can be overwritten by any other assignment. I saw something like this in a code:
```
void foo(bool e){
   int a;
   bool s;
   e = e >> 24;
   ...
}

void mainFunc(){
   int *arg = (int*)malloc(sizeof(int));
   *arg = xxxx;   

   foo((bool)arg);
}

```

Is this a right thing to do?

