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

这是有关std::queue::emplacestd::queue::push的说明。

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

最佳答案

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

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

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

关于c++ - <queue>的位和推送之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35518611/

10-13 09:33