Все std :: make _ сделано избыточным с помощью C ++ 17 с введением вычета аргумента шаблона класса (кроме Make_unique и Make_shared ).
Так что в той точке std :: ueftional ? Насколько я могу судить, делает то же самое, что и руководства по выводу для std :: Необязательно .
Есть ли сценарий, где std :: make_optional предпочтительнее руководства по выводу?
Подробнее здесь: https://stackoverflow.com/questions/627 ... e-optional