Kann std::array standardmäßig initialisiert werden?
Durch die Deklaration einer Variablen als std::array
Sie sollten sich jedoch darüber im Klaren sein, dass die Standardinitialisierung keine Auswirkungen auf Nicht-Klassen-, Nicht-Klassen-Initialisierungen hat. Array-Typen (§8.5/6), wobei ihre Werte unbestimmt bleiben. Ein standardmäßig initialisiertes Array solcher Typen hat beispielsweise unbestimmte Werte.
Wertinitialisierung von Arrays
Wenn Sie alle Array-Elemente auf einen bestimmten Wert initialisieren möchten value T{}, dies ist keine Standardinitialisierung, sondern eine Wertinitialisierung (8,5/7). Sie können Arrays in C 11 einfach mit Werten initialisieren, indem Sie leere Initialisierer verwenden:
int plain_int{};
int c_style_array[13]{};
std::array cxx_style_array{};
Dadurch werden alle Array-Elemente wertinitialisiert, was zu einem konsistenten Wert von 0 für Ganzzahlen und den Standardwerten für ihre jeweiligen Datentypen führt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3