Operator overloading -- lets collect some use cases
Don
nospam at nospam.com
Sun Dec 28 08:50:55 PST 2008
There's been some interesting discussion about operator overloading over
the past six months, but to take the next step, I think we need to
ground it in reality. What are the use cases?
I think that D's existing opCmp() takes care of the plethora of trivial
cases where <, >= etc are overloaded. It's the cases where the
arithmetic and logical operations are overloaded that are particularly
interesting to me.
The following mathematical cases immediately spring to mind:
* complex numbers
* quaternions (interesting since * is anti-commutative, a*b = -b*a)
* vectors
* matrices
* tensors
* bigint operations (including bigint, bigfloat,...)
I think that all of those are easily defensible.
But I know of very few reasonable non-mathematical uses.
In C++, I've seen them used for iostreams, regexps, and some stuff that
is quite frankly bizarre.
So, please post any use cases which you consider convincing.
More information about the Digitalmars-d
mailing list