J'essaie de comprendre comment / si je peux utiliser unique_ptr
en 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();
Je comprends pourquoi le code ci-dessus ne fonctionne pas. Étant donné que front
& pop
sont deux étapes distinctes, l'élément ne peut pas être déplacé. Y a-t-il un moyen de faire cela?