Heim >Backend-Entwicklung >C++ >„push_back' vs. „emplace_back': Wann sollten Sie welche verwenden?
push_back vs emplace_back
Um die Unterschiede zwischen push_back und emplace_back zu verstehen, ist es wichtig, den Unterschied zwischen den verschiedenen Überladungen für push_back zu verstehen.
push_back Überladungen
push_back bietet drei Überladungen zur Verarbeitung verschiedener Datentypen und Referenzen:
emplace_back-Überladung in MSVC10
In Microsoft Visual C 10 (MSVC10), emplace_back verfügt über eine zusätzliche Überladung:
C 0x's emplace_back Overload
Die echte C 0x-Definition von emplace_back unterscheidet sich erheblich:
Vorteile von emplace_back in C 0x
Die C 0x-Version von emplace_back bietet mehrere Vorteile:
Fazit
In C ist emplace_back eine leistungsstarke Ergänzung zur push_back-Funktion, die eine einfache Konstruktion von Objekten innerhalb eines Containers mithilfe einer variablen Liste von ermöglicht Argumente. Während MSVC10 eine nicht konforme Implementierung von emplace_back bietet, bietet die echte C 0x-Implementierung erhebliche Leistungsvorteile und ermöglicht eine effizientere Konstruktion von Objekten innerhalb von Containern.
Das obige ist der detaillierte Inhalt von„push_back' vs. „emplace_back': Wann sollten Sie welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!