Зачем нам нужно указывать в переменной rvalue значение null в конструкторе перемещения?

//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references
class Widget {
public:
    Widget(Widget&& rhs)
        : pds(rhs.pds) // take source’s value
    { 
        rhs.pds = nullptr;  // why??
    }

private:
    struct DataStructure;
    DataStructure *pds;
};

Я не могу понять причину установкиrhd.pds вnullptr .

Что произойдет, если мы удалим эту строку:rhs.pds = nullptr;

Ответы на вопрос(3)

Ваш ответ на вопрос