У меня есть класс Foo
class Foo;
фабрика возвращает указатель на нее:
std::unique_ptr<Foo> createFoo();
и, поскольку мне сказал Херб, что простая функция без особых претензий на всю жизнь Foo должна иметь простые голые указатели:
void plainf(Foo* f);
Как мой клиент должен правильно это сделать?
plainF(createFoo());
Он не был бы рад, если бы ему пришлось написать:
auto someName = createFoo();
plainF(someName.get());