Why is it allowed to change a const variable using a pointer to it with memcpy?
This code:
const int i=5; int j = 0; memcpy(&j, &i, sizeof(int));
While 'officially' it's undefined in reality it's very much defined - you will change the value of the const variable. Which raises the question why it's const to begin with.