Heim >Backend-Entwicklung >C++ >Warum wurden designierte Initialisierer von C 11 ausgeschlossen?
Designierte Initialisierer in C 11: Begründung für den Ausschluss
Während C99 die Verwendung von designierten Initialisiererlisten zulässt, wie im bereitgestellten Codeausschnitt , C 11 verbietet diese Funktion. Diese Entscheidung des C 11-Standardkomitees wirft die Frage auf, warum eine so praktische Funktion ausgeschlossen wurde.
C.1.7[diff.decl].4: Einschränkungen in C :
Die Einführung bestimmter Initialisierer in C hätte mehrere Herausforderungen mit sich gebracht:
Fazit:
Das C 11-Standardkomitee hat diese technischen Einschränkungen sowie die Möglichkeit von Kompatibilitätsproblemen und inkonsistentem Verhalten sorgfältig berücksichtigt, als es sich dafür entschied, bestimmte Initialisierungslisten auszuschließen. Stattdessen stellt C eine strenge Auswertungsreihenfolge für Initialisierungslisten bereit, um vorhersehbares Verhalten sicherzustellen und die Kompatibilität mit den vorhandenen Regeln aufrechtzuerhalten.
Das obige ist der detaillierte Inhalt vonWarum wurden designierte Initialisierer von C 11 ausgeschlossen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!