📜  C++ STL-Queue.emplace()函数

📅  最后修改于: 2020-10-19 01:09:45             🧑  作者: Mango

C++ Queue.emplace()函数

C++ Queue emplace()函数在队列的末尾,在当前back元素之后添加一个新元素。该函数在队列上执行插入操作。

句法

template  void emplace (Args&&... args);

参量

args:参数转发用于构造新元素的参数。它指定了新构造元素的值,该元素将插入到结束位置。

返回值

该函数仅用于添加新元素,并且不返回任何值。

例子1

#include
#include
#include
int main()
{
    std::queue newqueue;
    newqueue.emplace("I am the first line");
    newqueue.emplace("I am the second one");
    std::cout << "Contents of new queue: \n";
    while (!newqueue.empty())
    {
        std::cout << newqueue.front() << "\n";
        newqueue.pop ();
    }
    return 0;
}

输出:

I am the first line
I am the second one

例子2

#include
#include
#include
using namespace std;
int main()
{
    queue newpqueue;
    newpqueue.emplace("portal");
    newpqueue.emplace("computer science");
    newpqueue.emplace("is a");
    newpqueue.emplace("Javatpoint");
    cout << "newpqueue = " ;
    while(!newpqueue.empty( ) )
    {
        cout<< newpqueue.front() << " ";
        newpqueue.pop();
    }
    return 0 ;
}    

输出:

Javatpoint is a computer science portal

复杂度

对emplace_back进行了一次调用。

数据竞争

队列中存在的所有元素都被修改,因为添加了新元素,所有其他元素的相应位置也被更改。

异常安全

提供与在基础容器对象上执行的操作等效的保证。