C ++ конструкторы перемещения без rvalue-ссылок?
B(A)
не является конструктором перемещения. Это конвертирующий конструктор.
Предполагается, что это работает
Этот конвертирующий конструктор работает.
зачем использовать перемещение конструктора / присваивания сСсылка на rvalue?
Поскольку вы не можете иметь конструктор / назначение перемещения без ссылки на rvalue.
Если вы хотели спросить, зачем использовать конструктор преобразования ссылок на rvalue:перенести строительство. Недостатком этого является необходимость дополнительной перегрузки для ссылок lvalue в случае, если вы хотите иметь возможность копировать из них.