Как безопасно спроектировать конструктор перемещения, когда класс использует множественное наследование?
Рассмотрим следующий сценарий:
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
?