Wie man ein std :: array mit einer Initialisierungsliste erstellt, ohne die Größe direkt anzugeben [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie emuliert man das Verhalten der C-Array-Initialisierung "int arr [] = {e1, e2, e3,…}" mit std :: array? 9 answers

Wie kann ich @ macha3 compile?

int main()
{
    int a1[] = { 1, 2, 3 };
    std::array<int, 3> a2 = { 1, 2, 3 };
    std::array<int> a3 = { 1, 2, 3 };
}

Es ist sehr unpraktisch und spröde, die Größe des Arrays bei Verwendung einer Initialisierungsliste, insbesondere langer, fest zu codieren. Gibt es irgendeine Arbeit herum? Ich hoffe, sonst bin ich enttäuscht, weil ich C-Arrays und @ hasstd::array soll ihr Ersatz sein.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage