Вы можете сделать так, чтобы CreateChild () возвращала что-то, отличное от Child, которое может быть публично создано для Child.Вы платите за перемещение, потому что оно не подлежит копированию, а код является избыточным c ++ 17.
Можете ли вы жить с использованием постоянной или правильной ссылки на временную, что продлит срок ее службы?Я не думаю, что бывали случаи, когда у него не было бы того же времени жизни, что и у некопируемого объекта, созданного напрямую.