can someone explain to me why does this code doesnt change the value of a? is it possible to change a const data value?
case 1:
const int a = 2;
*((int*)&a) = 3;
std::cout << a;
case 2:
const int a = 2;
const_cast<int&>(a) = 3;
std::cout << a;
Changing a const value is undefined behavior. I would advise you not to do it or write any program that does so.