entfernen unique_ptr aus der Warteschlange

Ich versuche, herauszufinden, wie/ob ich die verwenden kann unique_ptr im queue.

//create queue
std::queue<std::unique_ptr<int>> q;

//add element
std::unique_ptr<int> p (new int{123});
q.push(std::move(p));

//try to grab the element
auto p2 = foo_queue.front();
q.pop(); 

Verstehe ich, warum der code oben nicht funktioniert. Da die front & pop 2 separate Schritte, das element kann nicht verschoben werden. Gibt es eine Möglichkeit, dies zu tun?

InformationsquelleAutor Ilia Choly | 2013-01-02
Schreibe einen Kommentar