3 ms·
> Maybe there is a role of operator overloading or templates in C++ but I never really found it. Operator overloading like using + on strings or adding n-space
by jimmaswell 12y ago
> Maybe there is a role of operator overloading or templates in C++ but I never really found it.
Operator overloading like using + on strings or adding n-space vectors to other n-space vectors is at least convenient, isn't it?
- 14113 12y agoBut at the same time, something that could be achieved by something like Haskell typeclasses, e.g. a "concatenatable" typeclass - which then gives you more polymorphism for free than you originally anticipated!
- loqi 12y agoDefining an instance of "concatenable" (eg, Monoid) for some type in Haskell is pretty much isomorphic to overloading some free function (or operator) on some type in C++. It's the same "amount of polymorphism" either way, namely ad-hoc polymorphism.