Какова цель этого специального конструктора, который принимает список инициализаторов. Может ли кто-нибудь привести пример того, когда это будет полезно?
template <class U, class... Args>
constexpr explicit optional(in_place_t, initializer_list<U> il, Args&&... args);
Как это отличается от этого?
template <class... Args> constexpr explicit optional(in_place_t, Args&&... args);
Ссылка: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3793.html#optional.object.ctor
P.S. Не уверен, следует ли использовать тег С++ 14 или С++ 1z. Я думаю, что должен быть тег для технической спецификации С++