В C ++ это называется this
объект, и это то, что я использую.
Редактировать : я второй комментарий Нейла о том, что operator+()
лучше быть не членом. Для меня каноническая форма состоит в том, чтобы реализовать +=
в качестве члена (он изменяет объект левой стороны и, следовательно, должен иметь к нему доступ) и реализовать operator+
поверх него:
inline Thing operator+(Thing lhs, const Thing& rhs)
{
lhs += rhs;
return lhs;
}
(Примечание. Раньше я тоже передавал lhs
по константной ссылке и выполнял копирование внутри функции, но некоторое время назад убедился, что вместо этого лучше передавать его как копию.)