„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Kann std::array standardmäßig initialisiert werden?

Kann std::array standardmäßig initialisiert werden?

Veröffentlicht am 21.12.2024
Durchsuche:868

Can std::array be Default-Initialized?

Kann std::array standardmäßig initialisiert werden?

Durch die Deklaration einer Variablen als std::array x; können Sie garantieren, dass alle seine Elemente standardmäßig initialisiert werden. Gemäß dem C 11-Sprachstandard (§8.5/11) wird jedes Objekt ohne expliziten Initialisierer standardmäßig initialisiert.

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.

Neuestes Tutorial Mehr>

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