#include <iostream>
using namespace std;
union charBool
{
unsigned char aChar;
bool aBool;
};
int main()
{
charBool var;
charBool* varMemory = &var;
var.aBool = 65;
std::cout << "a boolean = " << var.aBool << std::endl;
std::cout << "a char = " << var.aChar << std::endl;
std::cout << "varMemory = " << (*(reinterpret_cast<unsigned char*>(varMemory))) << std::endl;
var.aChar = 98;
std::cout << "a boolean = " << var.aBool << std::endl;
std::cout << "a char = " << var.aChar << std::endl;
std::cout << "varMemory = " << (*(reinterpret_cast<unsigned char*>(varMemory))) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdW5pb24gY2hhckJvb2wKewoJdW5zaWduZWQgY2hhciBhQ2hhcjsKCWJvb2wgYUJvb2w7Cn07CgppbnQgbWFpbigpIAp7CgljaGFyQm9vbCB2YXI7CgljaGFyQm9vbCogdmFyTWVtb3J5ID0gJnZhcjsKCQoJdmFyLmFCb29sID0gNjU7CglzdGQ6OmNvdXQgPDwgImEgYm9vbGVhbiA9ICIgPDwgdmFyLmFCb29sIDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCAiYSBjaGFyID0gIiA8PCB2YXIuYUNoYXIgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8ICJ2YXJNZW1vcnkgPSAiIDw8ICgqKHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KHZhck1lbW9yeSkpKSA8PCBzdGQ6OmVuZGw7CgoJdmFyLmFDaGFyID0gOTg7CglzdGQ6OmNvdXQgPDwgImEgYm9vbGVhbiA9ICIgPDwgdmFyLmFCb29sIDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCAiYSBjaGFyID0gIiA8PCB2YXIuYUNoYXIgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8ICJ2YXJNZW1vcnkgPSAiIDw8ICgqKHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KHZhck1lbW9yeSkpKSA8PCBzdGQ6OmVuZGw7CgoJcmV0dXJuIDA7Cn0=