Wie kann man std :: array <T, n> elegant initialisieren, wenn T nicht standardmäßig konstruierbar ist?

Wie initialisiere ichstd::array<T, n> wenn T ist nicht standardmäßig konstruierbar?

Ich weiß, dass es möglich ist, es so zu initialisieren:

T t{args};
std::array<T, 5> a{t, t, t, t, t};

Abern für mich ist template parameter:

template<typename T, int N>
void f(T value)
{
    std::array<T, N> items = ??? 
}

Und selbst wenn es keine Vorlage war, ist es ziemlich hässlich, den Wert von Hand zu wiederholen, wennn es ist zu groß.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage