Я создал метод, который возвращает объект таким образом:
MyObject &&
MyController::getMyObject (const otherObject & options) const
{
MyObject tmp;
tmp.doSometing(options);
return std::move(tmp);
}
Позже в моем коде я хотел использовать этот метод с цепочечными вызовами, подобными этому:
controller.getMyObject(options).doAnotherThing();
И это не работает, вызов doAnotherThing основан на пустом объекте.Я знаю, как исправить ситуацию:
auto tmp = controller.getMyObject(options);
tmp.doAnOtherThing();
Мои вопросы: Во-первых, правильно ли написан метод?Как я могу избежать писать второй способ использования?Это действительно вялый ...
Примечание: "MyObject" является подвижным.