Betrachten Sie die folgende Folge von Anweisungen std :: listC++: Elemente aus dem STL-Container in eine Variable in einer einzigen Anweisung verschieben?
//class C;
C c_obj;
std::list<C> my_list;
//...
std::swap(c_obj, my_list.front());
my_list.pop_front();
Ich möchte einfach den Inhalt von my_list.front bewegen() mit c_obj während das Element aus der Liste in einer einzigen Anweisung zu entfernen (und minimiert so die Anzahl der Anweisungen und des Kopierens). Ist es möglich?
Danke.
Und für den Fall, wenn es eine Ausnahme zwischen Kopieren und zu entfernen? – Steephen
Nein, ich glaube nicht, dass es eine Möglichkeit gibt, 'front()' und 'pop_front()' im selben Ausdruck zu erhalten. Zumindest nicht in der Klasse 'std :: list' – vu1p3n0x