I never liked call by reference. When I was trying to understand a chunk of
code, it was a great mental simplification to know that whatever a called
routine did, it couldn't have an effect on the code I was trying to
understand except through a returned value and (ghastly) global variables.
Operator overloading is far worse. Now I can't even be sure code I'm
looking at is doing what I thought it did.
On Wed, May 13, 2020 at 7:38 PM Dave Horsfall <dave(a)horsfall.org> wrote:
On Tue, 12 May 2020, Paul Winalski wrote:
Absolutely. The projects that I ran effectively
used C++ as a
stronger-typed version of C. A small subset of C++ features were
allowed, but among the prohibited features were:
[...]
o operator overloading
[...]
I never could figure out why Stroustrup implemented that "feature"; let's
see, this operator usually means this, except when you use it in that
situation in which case it means something else. Now, try debugging that.
I had to learn C++ for a project at $WORK years ago (the client demanded
it), and boy was I glad when I left...
-- Dave