Is there a way around such that the code is still readable and the underlying operation remains efficient?Use a separate function implemented effectively. In my opinion this will be more readable than the use of operators.
This is because neither of the 2 gives you access to the var that will receive the result. So you can not check if the variable that will receive the result is the same as the source.I aggree, as long as there is no access to the result, I cannot think of a way of creating efficient operators (in the sense that no additional memory needs to be allocated).