Operator overloading is often a not-understand affection that accredit both array-like behaviour, pointer like operations and build-in-like operations. C++ programmers prefer to avoid pointers because of the bugs that can be introduced.