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 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 >