Учитывая, что я обычно применяю operator *
в терминах operator *=
и копию, нет никаких оснований предпочитать operator *
.
Обычная реализация operator *
(и +
, -
, /
и т. Д.) Обычно должна выглядеть следующим образом:
T operator *(T const& left, T const& right) {
T result = left;
return result *= right;
}