<queue>的位和推送之间的区别

Dam*_*i.h 7 c++ queue push emplace

<queue>的emplace和push 之间有什么区别?

这是关于std :: queue :: emplacestd :: queue :: push的解释

这两种方法都会在其当前最后一个元素return之后添加元素None

Sam*_*nen 7

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

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

如果您的使用模式是在其中创建新对象并将其添加到容器的一种使用模式,则可以通过使用emplace()来简化一些步骤(创建临时对象并将其复制)。