Kopiert std::vector Objekte beim Anhängen mit push_back?
Nach sorgfältiger Untersuchung mit Valgrind sind einige Benutzer zu dem Schluss gekommen, dass std ::vector erstellt mithilfe der Methode push_back() Kopien von Objekten, die in den Container verschoben werden. Dies hat Fragen zur Fähigkeit des Vektors aufgeworfen, Referenzen oder Zeiger zu speichern, ohne Kopien zu erstellen.
std::vector-Verhalten
Die Annahme ist richtig. Wenn ein Objekt push_back() in einen std::vector
Alternativen zum Speichern von Referenzen oder Zeiger
Wenn Sie Referenzen oder Zeiger auf Objekte in Ihrem Vektor speichern möchten, besteht die Lösung darin, ein std::vector
Aufrechterhaltung der Objektgültigkeit
Bei Verwendung eines std::vector
Das obige ist der detaillierte Inhalt vonKopiert „std::vector' Objekte, wenn „push_back()' verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!