Spezialisierung von std::shared_ptr
In C verfügt std::unique_ptr über eine Vorlagenspezialisierung für die Verarbeitung von Arrays , was in seinem Destruktor entsprechend delete[] aufruft. Für std::shared_ptr gibt es jedoch keine solche Spezialisierung.
Warum die Abwesenheit?
Ursprünglich war das Versehen wahrscheinlich auf Zeitbeschränkungen zurückzuführen, da die LWG (C Ausschuss) hatte viele andere dringende Angelegenheiten. Allerdings spielte auch das Fehlen eines formellen Vorschlags eine Rolle.
Neueste Entwicklungen
Informelle Gespräche haben das Thema wieder in den Vordergrund gerückt und Prototypen wurden umgesetzt. Ein formeller Vorschlag steht jedoch noch aus. Einige LWG-Mitglieder glauben, dass die Array-Unterstützung für std::shared_ptr eine wertvolle Ergänzung wäre.
Aktueller Status
Ab C 14 gibt es keine integrierte Spezialisierung für std::shared_ptr
Update
Im Jahr 2014 wurde ein Entwurf einer technischen Spezifikation (TS) zum Hinzufügen eines Arrays vorgeschlagen Unterstützung für std::shared_ptr. Dieser Vorschlag wurde in C 17 umgesetzt.
Das obige ist der detaillierte Inhalt vonWarum hat „std::shared_ptr' keine Spezialisierung für Arrays in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!