Steven Schveighoffer wrote:
The example that I gave does not seem to you like it would surprise someone? I passed in a const object and it got modified, even though no casts were used.
No, it doesn't surprise me. Const on one object does not apply to another object.