为什么你这样欺骗编译器:
const int a = 5;
*((int*)&a)=5; // VC/armcc does not complain
Run Code Online (Sandbox Code Playgroud)
当上面的"删节"相当于此:
const int *ptr2const = &a;
int *ptr = ptr2const; // as expected error is raised here
*ptr = 5;
Run Code Online (Sandbox Code Playgroud)