Описание
Как я могу безопасно конструировать конструктор перемещения, когда класс использует множественное наследование?
Подробнее
Рассмотрим следующий сценарий:
struct T { };
struct U { };
struct X : public T, public U
{
X(X&& other)
: T(std::move(other))
, U(std::move(other)) // already moved?!
{
}
};
Есть ли способ переместить-построить как T
, так и U
безопасно?