Not always. BTW, I don't know if you noticed it, but I was exagerating to make a point.
> Of course you could do something in that operator that nobody would expect to happen inside it
To me, this is the problem. For example, I do embedded. I have to know with a certain precision what is going on in my program.
It's a very different thing to call a bad-named or badly-done function. It's an unlucky case... I guess?...
But if I use an operator, there might be hidden code there I have to see.
Yes, I know you can use "=" to copy a struct. But also "a = b + c" might be doing something slow, like re-allocating internal pointers and making copies, allocating new objects, etc. I have to read the code to see what it will do. Believe me, I have done it with inherited embedded C++ projects.