<queue>的安慰和推送之间的区别

时间:2016-02-20 03:02:18

标签: c++ queue push emplace

<queue>的安抚与推动有什么区别?

此处有关std::queue::emplacestd::queue::push 的解释。

两个方法在当前最后一个元素之后添加元素,返回None

1 个答案:

答案 0 :(得分:3)

push()将已构造对象的副本作为参数添加到quewue中,它接受队列元素类型的对象。

emplace()在队列末尾就地构造一个新对象。它将参数作为队列元素类型构造函数的参数。

如果您的使用模式是创建新对象并将其添加到容器的模式,则可以使用emplace()快捷步骤(创建临时对象并复制它)。