Jonathan M Davis Wrote: > > const int a=0; > > *cast(int*)&a=1; > > There are so many reasons to cringe at that. Taking the address of a local > variable is generally very dangerous. As long as the pointer doesn't escape > and exist beyond the life the variable, then you're okay, but you often can't > guarantee that, and it's generally a _bad_ thing to do.
`mutable` is a modifier for member fields, I suppose. You see the code. If it has bugs, you can find them. > It breaks the type system. It's > also _very_ bad to do in the general case, because the variable in question > could actually be immutable underneath rather than just const. Can you create an immutable object of a class without immutable constructor?