В отношении этой статьи MSDN , в конце (Раздел: Надежное программирование) говорится,
Чтобы предотвратить утечку ресурсов, всегда бесплатно
ресурсы (такие как память, файл
ручки и розетки) в движении
оператор присваивания.
Что произойдет, если вместо этого будет выполнено задание на перемещение:
MemoryBlock& operator=(MemoryBlock&& other)
{
if (this != &other)
{
std::swap(_data, other._data);
std::swap(_length, other._length);
}
return *this;
}
Разве "_data" rvalue освобождает "другие" ссылки, когда оно выходит из области видимости?