Да, просто создайте его с помощью тега «на месте», который пересылает аргументы ctor!
boost::optional<X> op(boost::optional::in_place_init, "abc", 5);
( ref )
FWIW, если вы этого не сделаетепомните о движении, тогда это тоже работает:
boost::optional<X> op(X("abc", 5));
Сканирование этой справочной страницы;Есть множество способов построить или заполнить boost::optional
.