On 9/29/11 10:39 AM, Steven Schveighoffer wrote:
The runtime failure makes code that was not quite fully defined (i.e.
cannot compare two const objects) to badly defined (you can compare
them, but you get an exception), especially when a const version is
*easy* to create. I mean, all you are doing is comparing two immutable
strings, that should be doable using const. Now I have to nag the author
of MyExistingClass to change his opEquals to const.

I agree with this characterization.

Compare changing opEquals to const instead of just *adding* a const
version of opEquals. With a straight change, the code doesn't compile
and you put const on opEquals wherever it complains. Now it's still
fully defined and runs the same as before. How is that a bad thing?

It's a bad thing because it breaks existing code.


Andrei

Reply via email to