Das nichtatomare Äquivalent von std::shared_ptr
Frage:
Gibt es eine Alternative zu std::shared_ptr, der die inhärente Atomizität fehlt? Warum enthält die C-Standardbibliothek außerdem keine nicht-atomare Option?
Antwort:
1. Verfügbarkeit nichtatomarer Alternativen:
Die C-Standardbibliothek bietet keine nichtatomare Variante von std::shared_ptr. Allerdings können Bibliotheken von Drittanbietern solche Implementierungen bereitstellen. Vor der Einführung von std::shared_ptr in C 11 erstellten viele Entwickler ihre eigenen intelligenten Zeiger mit Referenzzählung, die möglicherweise nicht-atomare Optionen boten.
2. Begründung für Atomic std::shared_ptr in C 11:
Während des C 11-Standardisierungsprozesses wurde der Vorschlag, eine nicht-atomare Version von std::shared_ptr aufzunehmen, geprüft und letztendlich abgelehnt. Die folgenden Argumente haben diese Entscheidung beeinflusst:
Vorgeschlagene nicht-atomare Version:
Trotz der Ablehnung in C 11 gab es möglicherweise Vorschläge für eine nicht-atomare Version Atomversion von std::shared_ptr, eingereicht an Boost oder das Standardkomitee. Diese Vorschläge fanden jedoch nicht genügend Unterstützung für die Aufnahme in den offiziellen Standard.
Das obige ist der detaillierte Inhalt vonWarum bietet die Standardbibliothek von C keine nicht-atomare Version von „std::shared_ptr' an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!