Comment Re:One good reason... (Score 2) 793
The biggest argument for operator overloading is really that nobody uses it, so we're all familiar with the corner case syntax in the standard library. Think about that: the biggest argument for it is that it never gets used.
Also, Objective C has reference counting with cycle detectors and all
Smart pointers are used in C++ to take care of reference counting. And dereferencing a smart pointer is achieved by operator overloading "->" .
I can remember back when I was reading up on Objective-C about how at that time the counts had to be handled manually with "retain" and "release". My God did that look clunky when compared to the automatic handling of reference counts with RAII in C++. I'm not up on the new handling of Objective-C reference counting though.
Not familiar with how Objective-C does cycle detection. Can you provide a citation?