Почему оператор присваивания должен возвращать ссылку на объект?

Я делаю некоторую ревизию своего C ++, и сейчас я имею дело с перегрузкой операторов, особенно с оператором "=" (присваивание). Я искал в Интернете и наткнулся на несколько тем, обсуждая это. В моих собственных заметках все мои примеры записаны как что-то вроде

class Foo
{
    public:  
        int x;  
        int y;  
        void operator=(const Foo&);  
};  
void Foo::operator=(const Foo &rhs)
{
    x = rhs.x;  
    y = rhs.y;  
}

. Во всех ссылках, которые я нашел в Интернете, я заметил, что оператор возвращает ссылку на исходный объект. Почему это правильный способ вернуть ссылку на объект, а не на «ничто»?

19
задан Rob Kennedy 30 January 2012 в 23:23
поделиться