inner_type::operator=(std::move(o));
subscription::operator=(std::move(*static_cast<subscription*>(&o)));
return *this;
}
Мне кажется или тут бред написан? Из кода rxcpp. Интересует зачем они мувают, а потом еще раз мувают в извращенной форме причем
Мувают, очевидно, чтобы воспользоваться тем, что входной параметр - копия, которую надо переместить в *this.
Но они потом мувают из мувнутого
Нет. Там множественное наследование. Так что мувнулась срезка.
это может быть валидно, если две разных части типа мувают разные части объекта
там именно так и есть. там A : B, C и мувают в операторе присваивания A сначала B, потом С
Обсуждают сегодня