У меня есть функция, которая возвращает ссылку на std:: prom:
std::shared_ptr<std::promise<void>> play();
(Дополнительная информация: функция воспроизводит медиафайлы на каком-либо устройстве, а возвращаемое значение представляет, когда это воспроизведение завершено. Если воспроизведение вызывается второй раз, значение устанавливается на обещание, возвращенное в первый раз, и новое обещание создается и возвращается для этого второго вызова)
Затем вызывающий абонент может поймать значение и ждать в будущем:
auto this_future = play()->get_future();
this_future.wait();
Имеет ли смысл возвращать ссылку на обещание или я должен возвращать будущее вместо этого, чтобы вызывающая функция не вызывала get_future()?