Heim >Backend-Entwicklung >C++ >Gibt es eine effizientere Möglichkeit, Elemente in einem std::set zu aktualisieren?
Frage:
Der Aktualisierungsvorgang in std:: set erscheint aufgrund des Fehlens einer direkten Änderungs-API umständlich. Derzeit greifen Benutzer darauf zurück, das Element zu finden, es zu kopieren, seinen Wert zu aktualisieren, das Original zu löschen und die aktualisierte Kopie erneut einzufügen. Gibt es einen effizienteren Ansatz oder sollte std::set mit einer benutzerdefinierten Implementierung überschrieben werden?
Antwort:
std::set verwendet Const-Iteratoren, um es aufrechtzuerhalten geordnete Natur. Das Zulassen regulärer Iteratoren würde das Ändern von Elementwerten und möglicherweise eine Störung der Reihenfolge ermöglichen.
Daher ist die idiomatische Methode zum Aktualisieren von Elementen in einem Satz die von Ihnen beschriebene:
Das Anpassen von std::set durch Erstellen einer eigenen Implementierung ist seit dem aktuellen Ansatz nicht erforderlich gilt als Standardmethode zum Durchführen von Aktualisierungen in diesem Container.
Das obige ist der detaillierte Inhalt vonGibt es eine effizientere Möglichkeit, Elemente in einem std::set zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!