Isn&#x27;t this how C++ works as well? operator+= is definable for any user defined types and typically you&#x27;ll add an overloaded operator[] which returns a reference so that things like operator+= works as you&#x27;d expect within the context of a collection.<p>I have some old code somewhere for images which I&#x27;m sure does something to the effect of:<p><pre><code>    image[x, y] *= scale;
</code></pre>
where Image::operator[] returns a Pixel&amp;.