optionaler Konstruktor mit initializer_list

Was ist der Zweck dieses speziellen Konstruktors, der die Initialisierungsliste aufnimmt. Kann jemand ein Beispiel geben, wann dies nützlich sein wird?

template <class U, class... Args>
constexpr explicit optional(in_place_t, initializer_list<U> il, Args&&... args);

Wie unterscheidet sich das Obige von diesem?

template <class... Args> 
constexpr explicit optional(in_place_t, Args&&... args); 

Ref:http: //www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3793.html#optional.object.cto

P.S. Ich bin mir nicht sicher, ob ich das Tag c ++ 14 oder c ++ 1z verwenden soll. Ich denke, es sollte ein Tag für die technische Spezifikation von C ++ geben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage