- 11 months
It might be an absolutely adequate method. Imagine that is C++. operator-- is overloaded and controls some machinery. You can’t just command capacity = currSize. Process is important.
- 11 months
That is why it is loved: it allows you to use ideas/objects the same way as you do as an engineer. Super cool.
Eager Eagle@lemmy.worldEnglish
11 monthsyes, but in this particular case I wouldn’t want to second guess my decrement operation just happens to also be calling the white house or whatnot. Just make a method.
- 11 months
That’s just life of a C++ programmer: you second guess everything, and there are still optimization you haven’t tried, and pitfalls you haven’t got into
- 11 months
Until the next person with a slightly different mental way of defining things comes along. Or just a future version of you.
- 11 months
As a shotgun. That’s why people don’t shoot themselves in the foot with a shotgun.
- 11 months
Yeah, just to say it more clearly: that kind of thing is why lots of people out there insist that operator overloading is a bad idea.
And yeah, it’s a C++ thing that mostly doesn’t happen in other languages.
- 11 months
Sincerely agree. Explicit is better then implicit, that’s a general engineering axiom.
Instead of overloading and making the next maintainer hunt for overloads, a clearly named function that does the critical steps would make the code immensely more maintainable. C++ is C gone wild.
- 11 months
Yes. Sometimes you’re limited by the hardware you’re controlling. This code is a bit hard to justify with that excuse though. Normally your code would do a read from hardware to see if the value decremented and then repeat the write. (Possibly a sleep/yield in there if required.)
- anton@piefed.blahaj.zoneEnglish11 months
If those are normal integers, the compiler optimizes that to a simple compare and branch/cmov.










