Standardinitialisierung in std::array
Standardinitialisierung ist die Initialisierung, die auftritt, wenn kein expliziter Initialisierer bereitgestellt wird. Mit C 11 std::array ist die Syntax std::array
Gemäß dem C 11-Standard (§8.5/11) wird jedes Objekt ohne expliziten Initialisierer standardmäßig initialisiert. Dazu gehören std::array-Objekte und herkömmliche Arrays im C-Stil. Insbesondere hat die Standardinitialisierung keine Auswirkung auf Nicht-Klassen- und Nicht-Array-Typen, sodass deren Wert unbestimmt bleibt.
Wertinitialisierung für alle Arrays
Während die Standardinitialisierung Nicht-Typen belässt -Klasse, Nicht-Array-Typen unbestimmt, Wertinitialisierung setzt Elemente auf ihre Standardwerte. In C 11 wird die Wertinitialisierung erreicht, indem für jedes Array-Element ein leerer Initialisierer bereitgestellt wird:
int plain_int{}; int c_style_array[13]{}; std::array<int, 13> cxx_style_array{};
Dadurch werden alle Elemente des Arrays wertinitialisiert, was dazu führt, dass plain_int und alle Array-Elemente auf Null initialisiert werden.
Das obige ist der detaillierte Inhalt vonWie funktioniert die Standardinitialisierung mit „std::array' in C 11?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!