Я делаю некоторую ревизию своего C ++, и сейчас я имею дело с перегрузкой операторов, особенно с оператором "=" (присваивание). Я искал в Интернете и наткнулся на несколько тем, обсуждая это. В моих собственных заметках все мои примеры записаны как что-то вроде
class Foo
{
public:
int x;
int y;
void operator=(const Foo&);
};
void Foo::operator=(const Foo &rhs)
{
x = rhs.x;
y = rhs.y;
}
. Во всех ссылках, которые я нашел в Интернете, я заметил, что оператор возвращает ссылку на исходный объект. Почему это правильный способ вернуть ссылку на объект, а не на «ничто»?