【发布时间】:2012-12-17 03:23:12
【问题描述】:
我正在尝试弄清楚如何/是否可以在 queue 中使用 unique_ptr。
// 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();
我明白为什么上面的代码不起作用。由于front 和pop 是两个单独的步骤,因此无法移动元素。有没有办法做到这一点?
【问题讨论】:
标签: c++ c++11 unique-ptr